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