前端之家收集整理的这篇文章主要介绍了
如何检查$?在unix shell脚本中不等于零?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个脚本,使用测试命令来检查$? (最
后执行命令的返回码)不等于零.
代码如下: –
@H_
404_1@$?是执行的最后一个命令的
退出状态.
if (test $? -ne 0)
then
//statements//
fi
@H_
404_1@但是,这种验证方式对于字符串不起作用,因为语法
错误.请建议一个合适的替代方案.
首先将其放在一个变量中,然后尝试测试它,如下所示
ret=$?
if [ $ret -ne 0 ]; then
echo "In If"
else
echo "In Else"
fi
@H_
404_1@这应该有帮助.
@H_
404_1@编辑:如果上述不按预期方式工作,那么有可能您不使用$?在正确的地方.它必须是您需要捕获返回状态的命令之后的下一行.即使目标之间有任何其他单个命令,并且捕获它的返回状态,您将检索此中间命令的returns_status,而不是您期望的返回状态.