同时执行要将命令放到后台:ssh $IP_102 -l $User "sh 102.sh" & ssh $IP_103 -l $User "sh 103.sh" & 判断可以用ps检查进程
使用 . 可以把另一个脚本读进来,,然后就可以引用其变量了 如 . /path/b.sh b中的变量直接引用
在要执行的文件后加# 后台执行 即可实现并行。
如果是连续执行:command1; command2如果是判断另一进程是否完成,完成则启动另外一个命令:!/bin/shwhile truedosleep 5RESULT=`ps -e|grep 'command1'|sed -e "/grep/d"` if [ -z "$RESULT" ];then #判断RESULT是否为空,为空则说明进程未启动 command2 exitfidone ...
按照你的说法,需要首先遍历你需要的文件,然后用一个for循环来执行 遍历的话还需要知道你的脚本文件有什么通用的地方,比如都叫elasticsearch 那还是通过find来找 find . -type f -name elasticsearch
可以在/etc目录下rc.local中编写启动命令,系统启动时会自动执行该文件。rc.local是个链接文件,实际位置可通过ls -l 查看。
应该是先执行unstack.sh 然后执行 clean.sh 反过来的话,执行unstack.sh会报错。我参考的网页链接 在stackoverflow上有个帖子网页链接 里面介绍了这两个shell的区别:The unstack.sh script only stops the services without removing them. Devstack's folder contains a clean.sh script that removes ...
2)假设你的操作都在在linux下面,假设一开始只有a.sh,运行"cat a.sh",再运行"gedit b.sh"或者"nedit b.sh”(或者用其他编辑器),把"cat a.sh“的屏幕输出粘贴到b.sh中,将b.sh保存、退出编辑器。这是运行b.sh肯定出错,因为b.sh没有执行权限,先运行"chmod +x b.sh",再运行"b....
执行shell脚本的方式主要是什么?使用$shscript.sh执行脚本时,当前shell是父进程,生成一个子shell进程,在子shell中执行脚本。脚本执行完毕,退出子shell,回到当前shell。./script.sh与shscript.sh等效。\x0d\x0a也可以采用$kshtest\x0d\x0a这种方式要求shell具有“可读”的访问权限。\x0d\x0a...
还是按照你写的脚本的先后顺序执行的,只不过sh test.sh &由于是后台执行看不到回显而已。你可以试着把“sh test.sh &”的“&”去掉,测试看看是不是按顺序执行的:)