請看下面的指令,( 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)