Você pode usar eval ou indireto:
eval echo \$chg_$i
ou
varname=$chg_$i
echo ${!varname}
No bash, eu defini
chg_Li=3
chg_Na=9
Agora, desejo chamar $chg_$i , em que i está em loop, fazendo o loop por Li e Na .
Qual é a sintaxe correta para chamar $chg_$i ?
Você pode usar eval ou indireto:
eval echo \$chg_$i
ou
varname=$chg_$i
echo ${!varname}
Como foi mencionado, você pode usar indiretamente para isso:
$ chg_Li=3
$ chg_Na=9
$ post_fix=(Li Na)
$ for j in ${post_fix[@]}; do chg="chg_$j"; echo "${!chg}"; done;
3
9