我运行一个命令,那么左右的代码块将被执行;如果命令失败:命令||运行代码并退出
#!/bin/sh
test || (
echo "Test failed, exit!"
exit 1
)
echo "Test succeeded!"
这工作,但剧本只是继续和不退出,Test succeeded
仍印刷。
我尝试使用exec
:
test || exec <<EOS
echo "Test failed, exit!"
EOS
但是,这并不在所有运行定界符也没有停止脚本休息...
我是很新的shell脚本。
它正在用'()'打开的子shell中退出。 – fedorqui
这就是我的想法,但你可以看到我没有得到exec工作来替换当前的脚本(然后它会从那里退出,对吧?)。我如何运行没有子shell的代码块? – user21033168
使用bash条件,这就是他们的目的。 – jwg