shell & awk 变量传递

1."'$var'"

#!/bin/bash
var="test"
awk 'BEGIN{print
"'$var'"}'

这种写法要求变量var中不含有空格。若var中含有空格,那么就要用
“‘“$var”’”

2.export变量,然后用ENVIRON[“var”]

#!/bin/bash
var="test"
export
var
awk 'BEGIN{print
ENVIRON["var"]}'

3.使用-v选项。

#!/bin/bash
var="test"
awk -v
nvar="$var" 'BEGIN{print
nvar}'

shell使用awk传递出来的变量

eval

along@along-laptop:~/code/shell/shell$
cat awktest.sh
#!/bin/bash
var1="test"
var2="along"

eval
$(awk 'BEGIN{print "var1=along;var2=test"}')
echo "var1:"$var1
echo
"var2:"$var2
along@along-laptop:~/code/shell/shell$ ./awktest.sh

var1:along
var2:test

原文地址:https://www.cnblogs.com/cdjiangchao/p/3958456.html