2012-07-12 56 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预期。

相关问题