尝试:
my_command || { echo 'my_command failed' ; exit 1; }四个变化:
- 更改
&&
为||
- 使用
{ }代替( )
;
在exit
和之后介绍{之前和之后的空格}
既然你要打印的消息,只有当命令失败(非零值退出)退出你需要一个
||不是
&&。
cmd1 && cmd2
将
cmd2在
cmd1成功时运行(退出值
0)。在哪里
cmd1 || cmd2
将
cmd2在
cmd1失败(退出值非零)时运行。
使用
( )可以使其中的命令在 子外壳中 运行,然后
exit从那里调用a 会导致您退出子外壳而不是原始外壳,因此在原始外壳中继续执行。
为了克服这种使用
{ }bash需要最后两个更改。



