por favor, dê uma olhada nos seguintes comandos, (o shell éeh)
algo não está claro para mim
quando eu corro - eval eco \$arr$n, eu recebo o valoracomo esperado
então por que: VAL=eval echo \$arr$n
, eeco $VALnão imprimir o mesmo valora?
definir um valor em arr1
# n=1
# eval arr$n=a
imprima um valor de arr1
# n=1
# eval echo \$arr$n
a
definireval eco \$arr$n emVALe imprima$VAL
# VAL=` eval echo \$arr$n `
# echo $VAL
{*}1
o que precisa ser corrigido no comando -VAL=eval echo \$arr$n
, então quando eu façoeco $VALvou pegar o valora ?
Responder1
tente com $()
em vez de aspas anteriores:
VAL=$(eval echo \$arr$n)