Bashで私は定義しました。
chg_Li=3
chg_Na=9
$chg_$i
今、私はforループのどこにいるのかを呼び出してandを繰り返したいと思います。i
Li
Na
呼び出しの正しい構文は何ですか$chg_$i
?
答え1
以下を使用するか、間接的に使用できますeval
。
eval echo \$chg_$i
または
varname=$chg_$i
echo ${!varname}
答え2
前述のように、間接参照を使用できます。
$ chg_Li=3
$ chg_Na=9
$ post_fix=(Li Na)
$ for j in ${post_fix[@]}; do chg="chg_$j"; echo "${!chg}"; done;
3
9