variável com uma variável substring no bash [duplicado]

0

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 ?

    
por Lei Zhang 04.10.2017 / 00:05

2 respostas

1

Você pode usar eval ou indireto:

eval echo \$chg_$i

ou

varname=$chg_$i
echo ${!varname}
    
por 04.10.2017 / 00:07
0

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
    
por 04.10.2017 / 00:50

Tags