我有一个Shell脚本,可以从内部运行另外两个Shell脚本:
compile.sh
run.sh
第一个脚本会返回错误,因为编译器无法编译。
仅当run.sh
返回0时,如何运行compile.sh
?
答案 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。