evalコマンドを使用してパラメータ値を印刷する方法

evalコマンドを使用してパラメータ値を印刷する方法

evalコマンドを使用してパラメータ値を印刷する方法を教えてください。

例えば

強く打つ

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= 

要求された出力を取得できないのはなぜですか(forループコマンドで)

 a=1
 b=2
 c=3

答え1

evalこの例では使用する必要はありません。

eval $ievalコマンドの内容を強制的に評価します。これにより、レポートなどのエラーが表示されます。ib: command not found

より良い方法は、bashを使用してパラメータ値を印刷することです。変数参照

for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3

関連情報