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