我正在编写一个脚本来自动安装apache。
在询问之前,这是一个公司请求,否则我将使用更简单的方法安装apache。
现在,在apache配置/make/make之后,我需要测试一个成功的完成。
我检查了配置选项,但不存在不成功完成的标志。
我想知道除了测试命令输出是否有成功的或不成功的结尾之外,还有什么其他的方法吗?
现在,我将输出保存在一个文件中,然后对预期的行进行预测。例如,为配置“创建测试/生成文件”。
谢谢
发布于 2013-10-11 14:42:40
通常,在基于*nix的系统上,命令返回0值表示成功,如果命令不成功则返回非零值。在shell中,最后一个命令的退出状态存储在"$?“中。变量。
因此,假设运行并检查退出状态,如下所示:
# make install
# echo $?如果命令成功,echo语句将输出0,否则将得到其他一些数字值。或者,如果$,您可以测试内容吗?加上“如果”。
if [ $? -eq 0 ]; then {
echo "OK"
};else {
echo "Not Ok"
};fi您还可以以不同的方式使用退出状态。下面的命令行只在前面的命令成功的情况下执行每个命令
./configure && make && make install && echo "All good!"将每个命令视为返回值(其退出状态)的函数。
&&是bash的AND运算符(您可能正在使用的shell )。是OR操作符。
您可以扩展上面的命令行,以处理“”步骤失败的情况,例如:
./configure && make && make install && echo "All good!" || echo "Something's awry"当然,这只是一个例子,但我认为您可以通过利用可以测试命令的退出状态这一事实来解决问题。
这个链接应该对你有帮助:http://tldp.org/LDP/abs/html/exit-status.html
https://stackoverflow.com/questions/19320652
复制相似问题