我需要依赖于脚本中的少量单独执行,并且不希望将它们全部捆绑在一个丑陋的“if”语句中。我想要退出代码'$?'每次执行并添加它;最后,如果这个值超过了阈值 - 我想执行一个命令。在bash中添加(收集)退出代码
伪代码:
ALLOWEDERROR=5
run_something
RESULT=$?
..other things..
run_something_else
RESULT=$RESULT + $?
if [ $RESULT -gt ALLOWEDERROR ]
then echo "Too many errors"
fi
问题:即使在互联网声称否则,庆典拒绝治疗的结果,$?作为整数。什么是正确的语法?
谢谢。
最后一个只计算它被执行的次数,不管错误(或成功):RESULT = $(($ RESULT + 1))。如果你想使用$(())构造,你需要添加$?而不是1(正如Dave Hinton的回答)。否则,即使命令返回0,您也会增加。或者,您可以像我的回答中那样使用陷阱。 – 2009-06-16 19:09:53
谢谢你,我修改了你的修改。我喜欢你的答案。 – 2009-06-16 23:56:36