获取命令替换的退出状态

获取命令替换的退出状态

如果我将命令替换的输出分配给局部变量,如何获取命令的退出状态?

这是 ZSH 5.8 的行为:

false; echo $? # output is 1 as expected

foo=$(false); echo $? # output is 1 as expected

local foo=$(false); echo $? # output is 0

答案1

将声明与赋值分开:

local foo
foo=$(false)

(也可以看看SC2155.)

相关内容