举个例子
timeout my_cmd
# if the command is failed due to timeout, aka exit code is 124,
# then the script should contiune to run other commands,
# otherwise it should stop.
# And what if there is more exit code to ignore?
other_cmds
字符串
我想我可能会检查$?
来控制运行流,但我想知道在Linux中是否有任何针对此模式的既定方法。
1条答案
按热度按时间2o7dmzc51#
继续我的评论,在
timeout my_cmd
之后添加:字符串
如果退出代码为
124
,脚本将继续运行,但对于其他所有退出代码,则使用正确的退出代码退出。如果有问题,请告诉我。如果你想检查多个退出代码,那么@CharlesDuffy提供的
case
语句是最好的方法。他建议case $ecode in 124|125) :;; *) exit "$ecode";; esac
适合你的需求。简而言之,如果124
或125
执行:
(无操作,无),对于每一个其他退出代码执行*
(默认)case和exit
。举例来说:
型
你也可以使用一个
if
和旧的语法,并否定组合检查来完成同样的事情,例如,你可以写if
语句:型
然后,它将按照您的期望执行,但请注意,使用
-o
或-a
的测试组合是一种较旧的方法,与||
或&&
语法相比并不受欢迎-但这里确实提供了一个解决方案。