如果命令有任何错误,我想停止我的 BASH。
make clean || ( echo "ERROR!!" && echo "ERROR!!" >> log_file && exit 1 )
Run Code Online (Sandbox Code Playgroud)
但我的 BASH 似乎仍在继续。如何输入exit 1单行运算符
我对 BASH 非常陌生,非常感谢任何帮助!
exit 1从 所创建的子 shell 中退出(),而不是从原始 shell 中退出。用于{}将命令组保留在同一 shell 中。
不要&&在命令之间使用,除非您想在其中一个命令失败时立即停止。用于;分隔同一行上的命令。
make clean || { echo "ERROR!!" ; echo "ERROR!!" >> log_file ; exit 1 ;}
Run Code Online (Sandbox Code Playgroud)
或者只是if为了更容易理解而使用。
if ! make clean
then
echo "ERROR!!"
echo "ERROR!!" >> log_file
exit
fi
Run Code Online (Sandbox Code Playgroud)