在表达式之后:
command1 | command2
我可以通过 ${PIPESTATUS[0]}
检索第一个命令的退出状态
是否有以下形式的表达式的等价物:
command3 && command4 || command5
我想检索 command3 的退出代码:
command3 && command4 || command5
retval=${SHORTCIRCUIT[0]} # how to get this value?
最好不要创建临时文件。
最佳答案
详细说明 devnull 的方法导致
{ c3=0; command3 || c3=$? && false; } && command4 || command5
echo $c3
.
因为每个 command
都可以替换为
{ c=0; command || c=$? && false; }
(前提是 c
在有条件执行时最初未设置),这很容易扩展。
关于bash - 如何在短路表达式中检索命令的返回码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718655/