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 $i
eval
コマンドの内容を強制的に評価します。これにより、レポートなどのエラーが表示されます。i
b: command not found
より良い方法は、bashを使用してパラメータ値を印刷することです。変数参照
for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3