将变量从shell脚本导出到awk

时间:2012-07-12 00:57:56

标签: shell awk grep

我将变量从shell脚本导出到awk。该计划如下

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

我的预期输出是什么?我需要将名称与awk脚本中的元素连接起来然后在外部显示连接结果,因此我的输出将是

名= byehi

但我没有得到同样的结果。你能帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用-v选项分配变量,而无需将任何内容导出到环境中。例如:

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

这将按预期返回byehi