小编bla*_*nda的帖子

带有局部变量的命令的退出状态

我在一个函数中有一个命令,它的输出放在一个局部变量中。我想获得该命令的退出状态,但$?总是返回 0。当我使用非局部变量时,我得到了预期的退出状态。

下面是一个例子:

function my_fun() {
   local output=$(ls no_file_here_buddy)
   echo $?  # returns 0

   non_local_var=$(ls no_file_here_buddy)
   echo $? # returns 2
}

Run Code Online (Sandbox Code Playgroud)

如何获得输出存储在局部变量中的命令的退出状态?

bash shell-script

9
推荐指数
1
解决办法
517
查看次数

标签 统计

bash ×1

shell-script ×1