以下のコマンドを見てください(シェルはシュ)
私にはよく分からない
走るとき - eval echo \$arr$n、私は価値を得る1つの予想通り
なぜ: VAL=eval echo \$arr$n
、 そして$VALをエコーする同じ値を印刷しない1つの?
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
コマンドで修正する必要があるもの -VAL=eval echo \$arr$n
なので、私が$VALをエコーする私は価値を得る1つの ?
答え1
$()
バッククォートの代わりに以下を試してください:
VAL=$(eval echo \$arr$n)