como usar o comando eval para imprimir o valor do parâmetro

1

Por favor, informe como usar o comando eval para imprimir o valor do parâmetro

por exemplo

bash

a=1
b=2
c=3


for i in ' echo a b c '
> do
> echo "$i=' eval $i ' "
> done

bash: a: command not found
a= 
bash: b: command not found
b= 
bash: c: command not found
c= 

por que não recebo a saída solicitada (do comando for loop)

 a=1
 b=2
 c=3
    
por maihabunash 16.07.2014 / 16:46

1 resposta

2

Não há necessidade de usar eval nesta instância

eval $i forces eval para avaliar o conteúdo de i como um comando - é por isso que você vê erros como b: command not found sendo relatados

A melhor maneira seria imprimir valores de parâmetro com o bash usando a variável deferenciamento

for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3
    
por 16.07.2014 / 16:55