在以下代码中,我试图将shell变量传递给awk。但是当我尝试以a.sh foo_bar的形式运行它时,打印输出为“未声明foo”,而当我以a.sh bar_bar的形式运行它时,打印输出为“已声明foo”。awk存在错误吗?还是我在这里做错了什么?
我正在使用gawk-3.0.3版本。
我正在使用gawk-3.0.3版本。
#!/bin/awk
model=$1
awk ' {
match("'$model'", /foo/)
ismodel=substr("'$model'", RSTART, RLENGTH)
if ( ismodel != foo ) {
print " foo is not declared"
} else {
print " foo is declared"
}
}
' dummy
dummy是一个只有单个空白行的文件。
谢谢。