2012-07-12 57 views
2

我從shell腳本將變量導出到awk。該方案低於將變量從shell腳本導出到awk

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

什麼是我的預期成果是我需要元素來串聯awk腳本里面的名稱,然後外面顯示連接後的結果,因此我的輸出將

名= byehi

但我不一樣。你能幫我解答一下嗎?謝謝。

回答

3

您可以使用-v選項分配變量,而無需將任何內容導出到環境中。例如:

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

這將返回byehi預期。

相關問題