退出状态且无输出

退出状态且无输出

我有这样的命令

bar > /dev/null

我想知道 bar 的退出状态。我读了一些帖子关于 ${PIPESTATUS[0]}但当有人通过管道输出|而我无法使其工作时,这会起作用>

我缺少什么?

答案1

>不是命令。这意味着 bar 将是最后执行的命令。您可以使用标准if语句检查是否失败:

if ! bar > /dev/null; then
    echo "bar command failed"
fi

$?如果您对零或非零以上的内容感兴趣,您还可以访问其返回代码:

bar > /dev/null
if [ "$?" -eq 45 ]; then
  echo "bar returned exit code 45"
fi 

相关内容