要重定向(和追加)stdout和stderr到一个文件,同时还显示在终端上,我这样做:
command 2>&1 | tee -a file.txt
也就是说,如果我测试$?,我想看到命令的退出状态,而不是TEE的退出状态。
我知道我可以在这里使用$ {PIPESTATUS [0]}而不是$?,但我正在寻找另一个解决方案,不涉及到检查PIPESTATUS。
也许你可以把PIPESTATUS的退出值放到$?
command 2>&1 | tee -a file.txt ; ( exit ${PIPESTATUS} )