我无法与"timeout comand" "exit status"



我希望获得"状态124",但使用以下代码获得"状态0"

timeout 10 sleep 20 | tee -a LOG_FILE LOG_FILE2
RET=$?
echo $RET

我通过使用此代码获得了"状态0"。

我希望获得"状态124"。

此代码中发生了什么

$?保留最后一个管道的退出状态。使用PIPESTATUS获取前景管道的退出状态(在这种情况下,timeout命令)。

$ timeout 10 sleep 20 | tee -a LOG_FILE LOG_FILE2
$ RET=${PIPESTATUS[0]}
$ echo $RET
124  # timed out

男人bash

pipestatus :一个数组变量(请参见下面的数组),其中包含来自最执行的前景管道中流程的退出状态值列表(仅包含一个单个命令)。<<<<<<<<<<<<<<<<<</p>

相关内容

  • 没有找到相关文章