首先,你的写法if (fieldname ~ /key/) { 有问题,写成~ /key/的话他是查找key,而不是key指代的字符要么写成~ /bin.*rundb/,如果在awk中使用变量,格式如下:~/"'$key'"/,fieldname也一样再就是赋值为*在shell中结果会很诡异(key="bin.*rundb" )不知道你要做什么的,你能说清楚点吗?