【发布时间】:2020-02-26 00:31:02
【问题描述】:
我正在运行一个命令。如果|| 之后的部分失败,将被执行。超时也会执行。
$ timeout 5 script.sh || { echo "Would execute if timeout or script failure"; }
如何分别处理超时错误和脚本错误?
$ timeout 5 script.sh ??? { echo "Timeout is fine, but this is printed only if script.sh returns an error"; }
【问题讨论】:
-
超时时,
timeout命令的退出状态为124;您可以使用它来区分错误的类型,但这并不可靠,因为如果脚本本身返回 124,则无法分辨出区别