我尝试使用tee将输出保存到文件中,例如: myapp | tee log.txt 但是我在检查退出时遇到了问题。之前的代码: myapp if [ $? -eq 0 ] then ..... 但 $? 是 tee 命令的退出状态码!我能否捕获到我的应用程序的退出状态码呢? 谢谢。
对于bash,有一个方便的特殊数组:PIPESTATUS。 myapp 的返回代码将在 ${PIPESTATUS[0]} 中等等。zsh 有一个大致相同的方法。在严格的 Bourne shell 中还有一种更为烦人和 hacky 的方法,您可以在 comp.unix.shell FAQ 中了解到相关内容。
PIPESTATUS
的内容。 - Fred Foo