sh + 如何运行命令并将其设置到参数中(VAL)

sh + 如何运行命令并将其设置到参数中(VAL)

请查看以下命令,(shell 是

我不太清楚

当我跑步时—— eval echo \$arr$n,我得到了价值A符合预期

所以为什么: 值=eval echo \$arr$n, 和回显 $VAL不打印相同的值A

在 arr1 中设置一个值

# n=1
# eval arr$n=a

从 arr1 打印一个值

# n=1
# eval echo \$arr$n
  a

eval echo \$arr$n 进入并打印$VAL

# VAL=` eval echo \$arr$n `
# echo $VAL
{*}1

需要在命令中修复什么 -值=eval echo \$arr$n,所以当我这样做回显 $VAL我会得到价值A

答案1

尝试使用$()而不是反引号:

VAL=$(eval echo \$arr$n)

相关内容