我正在将变量从 shell 脚本导出到 awk。程序如下
export name="hi"
eval $(awk '{element="bye";name=element"name";print name}')
echo $name
我的预期输出是我需要将名称与 awk 脚本内的元素连接起来,然后在外部显示连接结果,因此我的输出将是
名称=再见
但我没有得到同样的结果。你能帮我解决这个问题吗?谢谢。
最佳答案
您可以使用 -v 选项分配变量,而无需将任何内容导出到环境中。例如:
name='hi'
name=$(
awk -v name="$name" 'BEGIN {print "bye" name}'
)
echo "$name"
这将按预期返回 byehi
。
关于shell - 将变量从 shell 脚本导出到 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443693/