请查看以下命令,(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)