仅当前一个返回0时才如何启动下一个Shell脚本?

时间:2018-07-24 11:15:47

标签: linux shell deployment

我有一个Shell脚本,可以从内部运行另外两个Shell脚本:

compile.sh
run.sh

第一个脚本会返回错误,因为编译器无法编译。

仅当run.sh返回0时,如何运行compile.sh

2 个答案:

答案 0 :(得分:1)

使用&&运算符,该运算符基本上类似于逻辑运算符,并且如果第一个失败(返回falsie值),它将不会转到下一个命令。

compile.sh && run.sh

答案 1 :(得分:1)

摘自GNU Bash shell文档:

  • command1 && command2:仅当command1返回退出状态为零时,才执行command2。 (这是您想要的)
  • command1 || command2:仅当command1返回非零退出状态时,才执行command2。
  • command1 & command2:command1在子shell中(在后台)异步执行
  • command1 ; command2:shell等待command1终止,然后无论command1的退出状态如何,都继续执行command2。