2.8 补充:shell脚本执行方法】的更多相关文章

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限.   方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:       cd /data/shell     ./hello.sh   ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可…
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child…
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of-year day-of-week commands 意味着标椎定时任务中,最小定时周期是分钟. 但是,由于实际应用中,可能需要每5秒就要求执行某个shell脚本. 该如何实现呢? 本文中提供如下方式: 间隔调用shell命令 使用 crontab -e 命令编辑定时任务 实现每5秒定时执行脚本,cr…
1:创建shell脚本 touch sqoop_options.sh chmod 777 sqoop_options.sh 编辑文件  特地将执行map的个数设置为变量  测试 可以java代码传参数 同时也验证sqoop的 options 属性支持这种写法 #!/bin/bash /opt/cdh-5.3.6/sqoop-1.4.5-cdh5.3.6/bin/sqoop --options-file /opt/cdh-5.3.6/sqoop-1.4.5-cdh5.3.6/sqoop-impor…
Python 调用 Shell脚本的方法 1.os模块的popen方法 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出. >>> os.popen('date -u |wc') <open file 'date -u |wc', mode 'r' at 0x7f9539eb34b0> >>> os.popen('date -u |wc').read() ' 1 6 43\n' 2.利用c…
常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主要解决例如以下: (1)在VI编辑器中将^M删除: 将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m)  s///g是shell的替换命令 此命令必须是手动打上,不可复制. (2)dos2unix 命令 dos2unix…
/** * 远程shell脚本执行工具类 */public class RemoteShellExecutorUtils { private static final Logger logger = LoggerFactory.getLogger(RemoteShellExecutorUtils.class); private Connection conn; /** * 服务器IP */ private String ip; /** * 用户名 */ private String user;…
shell脚本执行错误 $'\r':command not found Linux下有命令dos2unix 可以用一下命令测试 vi -b filename 我们只要输入dos2unix *.sh就可以完成转换工作了 如果命令不存在的话就用如下命令安装 yum install dos2unix -y…
Linux下有个脚本/home/start.sh,常用的两种执行方法如下: 1../start.sh.注意此时start.sh脚本文件必须有可执行权限-x.类似的有以绝对路径来执行:/home/start.sh. 2.使用bash或sh命令来执行shell脚本,将shell脚本当做参数传给bash或sh命令来执行,如sh start.sh.…
在执行一个shell脚本时,遇到了“-bash: ./killSession.sh: /bin/bash: bad interpreter: Text file busy”错误提示,如下所示: [oracle@DB-Server bin]$ ./killSession.sh      -bash: ./killSession.sh: /bin/bash: bad interpreter: Text file busy 此时只需要在#!/bin/bash,加一空格#! /bin/bash即可解决问…
通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c  或 -s 比如: # su - oracle -c "pwd"/home/oracle 或 su - oracle -s /bin/sh test.sh 此时执行的test.sh中相关命令要在bin/sh下,换句话说,bin/sh支持的命令才能执行. 当然我们可以将结果重定向到其他的文…
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚本 #!/bin/bash #description: 启动重启server服务 #端口号,根据此端口号确定PID PORT= #启动命令所在目录 HOME='/usr/etc/server/java/server' #查询出监听了PORT端口TCP协议的程序 pid=`netstat -anp|g…
reference to :  http://***/Article/11768 有时候我们写的app要用uid=0的方式启动一个process,framework层和app层是做不到的,只有通过写脚本,利用am来实现.下面是具体步骤: 1.创建一个包含Main()方法Java project 1.1.创建一个Java project 1.2.添加Main()方法 1.3.导出为jar包 1.4.将java 版本的jar变成android 版本的jar 首先,找到dx工具所在文件夹,如andro…
shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell  shebang  Path 基本语法: 命令.变量.函数.参数.条件.流程控制. 变量相关:定义.命令参数变量和系统参数 与 配置文件读取(-r cron.daily/sysstat脚本中). 函数:定义方法 条件判定与环境测试:-x -d -f 等 执行流程控制:case 等 字符串处理与高级指令: (sed…
Shell脚本调试选项 Shell本身提供一些调试方法选项: -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误. -v,一边执行脚本,一边将执行过的脚本命令打印到标准输出. -x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来. 使用这些选项有三种方法 1.在命令行提供参数:$sh -x script.sh 2.脚本开头提供参数:#!/bin/sh -x 3.在脚本中用set命令启用or禁用参数:其中set -x表启用,set +x表禁用.注意避免几种调试选项混用. bashd…
1. 项目背景 以往我们在开发基于webservice的项目中,我们总习惯于直接使用webservice的一些框架,如Axis,axis2和Xfire等.框架的好处是将webservice所涉及到的soap协议.wsdl以及uddi都封装起来,我们只需要直接调用方法传值并执行请求就可以.但框架也有缺陷,比如axis2要基于java工程,哪怕只是一个简单的功能我们都要搭建一个java web项目去实现它.这样做的后果就是: 1. 占用服务器磁盘资源(一个java web项目至少也要几M); 2.…
Shell脚本调试选项 Shell本身提供一些调试方法选项: -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误. -v,一边执行脚本,一边将执行过的脚本命令打印到标准输出. -x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来. 使用这些选项有三种方法 1.在命令行提供参数:$sh -x script.sh 2.脚本开头提供参数:#!/bin/sh -x 3.在脚本中用set命令启用or禁用参数:其中set -x表启用,set +x表禁用.注意避免几种调试选项混用. Shell…
方法一:切换到shell脚本所在的目录执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中.查看PATH的内容可用 echo $PASH 命令.现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行. 方法二…
有时候我们写的app要用uid=0的方式启动一个process,framework层和app层是做不到的,只有通过写脚本,利用am来实现.下面是具体步骤: 1.创建一个包含Main()方法Java project 1.1.创建一个Java project 1.2.添加Main()方法 1.3.导出为jar包 1.4.将java 版本的jar变成android 版本的jar 首先,找到dx工具所在文件夹,如android-sdk/build-tools/20.0.0,并将该文件夹加入到环境变量PA…
问题 最近在使用 Dockerfile 启动容器,发现使用Dockerfile调用容器里面的shell,当shell执行完成以后,docker会退出容器. 分析 Docker 在执行shell的时候,是在后台执行的:因此,在shell执行完成以后,docker检测到没有前台任务需要执行,便退出container. 解决方法 在shell脚本的最后加上一个“永远完成不了”的命令: # tail -f /dev/null 这样当执行到这条命令的时候,shell便不会退出,container也不会退出…
转至: https://www.codeleading.com/article/67592908468/ 我构建了hadoop集群.我们一定会写一个shell脚本去每一个节点上去jps,查看每个节点的进程情况. 原先以为shell很简单: #!/bin/bash #查看每个节点运行情况 for((host=101;host<108;host++));do echo -----------hadoop$host------------- ssh hadoop$host "jps"…
一.shell概述 shell是一个命令行解释器,为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 shell还是一个功能强大的编程语言,shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令 1 查看Linux支持的Shell vim /etc/shells 二.shell脚本的执行方式 1 echo输出命令 echo [选项] [输出内容] -e 支持反斜杠控制的字符转换 例:echo -e "…
每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见http://nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入.标准输出及标准错误输出的接口. NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入.标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.…
今天使用shell脚本想查看历史操作命令的记录于是写了一个再简单不过的脚本,可是以chmod +x 权限执行./test.sh发现执行后没有任何反应.于是查找原因:将脚本文件中的#!/bin/bash去掉后可以正确执行…
我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用 Shell 调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. 在本系列的这一部分,我们将了解如何使用语法检查调试模式.记住我们之前在本系列的第一部分中解释了不同的调试选项,在这里,我们将使用它们来执行脚本调试. 启用 verbose 调试模式 在进入本指导的重点之前,让我们简要地探索下 verbose 模式.它可以用 -v调试选项来启用,它会告诉 she…
在Hudson或者Jenkins中利用ant的exec 来调用shell命令,通过shell脚本来执行adb shell命令,可以正常执行,不会出现在ant中直接调用adb shell出现的假死情况. 其中shell 脚本也很简单 #!/bin/sh adb root adb shell /system/data/lib adb shell ./system/data/lib/helloworld 可以执行手机端中的程序进行测试.…
shell脚本中调用kitchen 和 pan去执行,job和transformation文件.分 windows和 dos系统两种. 举个简单的小例子 shell脚本: export JAVA_HOME=/usr/local/java/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/mysql-connect…
# BY THE WAY, 其实这块内容算是比较简单的,但是都比较常记得它最基本的两种方式,另外两种却忘记了 1. 利用sh或bash命令执行 sh test.sh bash test.sh 2. 在test.sh所在的文件夹内执行 cd /data/shell ./test.sh #前提是这个shell脚本要有可执行的权限 或利用source命令在所在文件夹内执行 cd /data/shell source test.sh 3.利用绝对路径执行 /data.shell/test.sh…
现在springboot很流行,但是大家都知道springboot是以jar包的方式进行打包的,那样就少不了开启或关闭服务的操作了,但是命令方式未免过于繁琐. 下面记录shell脚本的方式启动或关闭服务的方式,一来记录,而来方便大家. 1.开启服务,start.sh #!/bin/sh nohup java -jar jar包全名 & # 注意:必须有&让其后台执行,否则没有pid生成 echo $! > tpid # 将jar包启动对应的pid写入文件中,为停止时提供pid ech…
Shell脚本的执行方式: 注明:wd代表“脚本保存的目录” 1.fork 语法:/wd/shell.sh fork是最普通的, 就是直接在脚本里面用/wd/shell.sh来调用shell.sh这个脚本.运行的时候开一个子shell执行调用的脚本,子shell执行的时候, 父shell还在.子shell执行完毕后返回父shell.子shell从父shell继承环境变量.但是子shell中的环境变量不会带回父 shell 2.exec 语法: exec /wd/shell.sh exec与for…