【发布时间】:2017-06-02 15:59:09
【问题描述】:
获取管道命令的退出代码工作正常。
echo "ABC" | false | true
echo ${PIPESTATUS[0]} ${PIPESTATUS[1]} ${PIPESTATUS[2]}
#Output is 0 1 0
但是当我将输出分配给一个变量时,a 无法获得退出代码。
TEST=$(echo "ABC" | false | true)
echo ${PIPESTATUS[0]} ${PIPESTATUS[1]} ${PIPESTATUS[2]}
#Output is 0
如何获取管道进程的退出代码?
【问题讨论】:
-
我建议不要在命令替换中运行管道。但是,有很多方法可以重写它,这取决于管道的后续阶段是否需要在早期阶段失败时运行。