我有4个Shell脚本,我想按顺序运行它们:
脚本1->脚本2->脚本3->脚本4
在本地计算机上,我可以通过使脚本可执行并创建新的Shell脚本来确保这一点:
#!/bin/bash
. script1.sh
. script2.sh
. script3.sh
. script4.sh
并且如果其中一个脚本位于远程计算机中(例如script2.sh),我该如何:
注意:所有脚本都有一个无限循环。
我假设您可以使用以下命令运行脚本:(./script1.sh
在外壳程序中启动脚本),而不是. script1.sh
(它将在您当前的外壳程序中获取源代码)?
如果是这样:
#!/bin/bash
./script1.sh &&
{ ssh user@remote "cd /path/to/ && script2.sh" ; } &&
./script3.sh &&
./script4.sh
&&
确保仅在前一个返回“ 0”(=“ ok”)的情况下执行以下指令(因此,请确保脚本可以,如果确定可以返回正确的“ 0”,否则返回其他值(一个小的正整数,例如“ 1”) “)(如果不正确)。
(请注意,您可以&&
像我在此处这样在一行的末尾加上下一行的内容,而无需\
在中间插入换行符。在该行的末尾的“ &&”告诉bash该行可以在下一行继续。[感谢@Dennis纠正我:我认为当下一行“ &&”时,它也可以不放置'\ newline',这更易读...但是不起作用。如果要在下一行使用“ &&”,则需要在前一个换行符后加反斜线])。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句