我想在Bash中执行一个长时间运行的命令,并且都捕获它的退出状态
所以我这么做:
command | tee out.txt
ST=$?
问题在于,变量ST捕获了tee
而不是命令。我怎么解决这个问题?
发布于 2018-02-07 06:04:32
此解决方案无需使用bash特定特性或临时文件即可工作。最终退出状态是实际上是退出状态,而不是文件中的某些字符串。
情况:
someprog | filter
你希望从someprog
的输出filter
...
这是我的解决方案:
((((someprog; echo $? >&3) | filter >&4) 3>&1) | (read xs; exit $xs)) 4>&1
echo $?
https://stackoverflow.com/questions/-100003464
复制相似问题