Bash中管道输出和捕获退出状态我想在Bash中执行一个长时间运行的命令,这两个命令都捕获了它的退出状态,并且三通它的输出。所以我这么做:command | tee out.txt
ST=$?问题在于,变量ST捕获了tee而不是命令。我怎么解决这个问题?注意,命令是长时间运行的,将输出重定向到一个文件以便以后查看它对我来说不是一个好的解决方案。
5 回答

慕桂英546537
TA贡献1848条经验 获得超10个赞
$PIPESTATUS
<command> | tee out.txt ; test ${PIPESTATUS[0]} -eq 0
set -o pipefail...
zsh

杨__羊羊
TA贡献1943条经验 获得超7个赞
mkfifo pipe tee out.txt < pipe & command > pipe echo $?
添加回答
举报
0/150
提交
取消