通常,在基于 *nix 的系统上,命令返回 0 值表示成功,而非零值
如果命令不成功。在shell中,最后一条命令的退出状态
存储在“$?”中多变的。
因此,假设您运行 make install 并检查退出状态,如下所示:
# make install
# echo $?
如果命令成功,则 echo 语句将打印出一个 0,否则
你会得到一些其他的数值。或者,如果 $?用“如果”。
if [ $? -eq 0 ]; then {
echo "OK"
};else {
echo "Not Ok"
};fi
您还可以通过其他方式使用退出状态。以下命令行
将执行每个命令,仅当前面的命令成功时才按顺序执行
./configure && make && make install && echo "All good!"
将每个 COMMAND 视为返回 VALUE(其退出状态)的 FUNCTION
&& 是 bash(您可能正在使用的 shell。)和 || 的 AND 运算符。是 OR 运算符。
您可以扩展上述命令行来处理“make install”步骤失败的情况,例如:
./configure && make && make install && echo "All good!" || echo "Something's awry"
当然,这只是一个例子,但我认为您可以利用可以测试命令的退出状态的事实来解决您的问题。
此链接应该对您有所帮助:http://tldp.org/LDP/abs/html/exit-status.html