在bash中,我定义了
chg_Li=3
chg_Na=9
现在我想在 for 循环中调用$chg_$i
where is ,循环遍历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