如何获取通过管道传输到 tee 的进程的退出代码?

blu*_*oon 6 shell bash mac-osx

我有这样的 bash 代码(Mac OS X):

foo.sh | tee foo.log echo $?

问题是那$?包含 tee 的退出代码而不是 foo.sh 的退出代码。如何获取 foo.sh 的退出代码?

blu*_*oon 7

环境变量$PIPESTATUS是管道中所有进程的退出状态数组。

  • 可能出于同样的原因,有一个按钮可以“回答您自己的问题”。 (2认同)