2

シェルスクリプトから awk に変数をエクスポートしています。プログラムは以下

export name="hi"
eval $(awk '{element="bye";name=element"name";print name}')
echo $name 

私の予想される出力は、awkスクリプト内の要素と名前を連結し、連結された結果を外部に表示する必要があるため、出力は次のようになります

name=さようなら

しかし、私は同じではありません。これに関して私を助けてください。ありがとうございました。

4

1 に答える 1

3

環境に何もエクスポートせずに、-vオプションを使用して変数を割り当てることができます。例えば:

name='hi'
name=$(
    awk -v name="$name" 'BEGIN {print "bye" name}'
)
echo "$name"

これはbyehi期待どおりに戻ります。

于 2012-07-12T01:11:43.027 に答える