Chinaunix

标题: 关于 -f 参数 [打印本页]

作者: ffmm    时间: 2008-07-09 20:37
标题: 关于 -f 参数
cat /dev/null |awk 'END{print "'$PATH'"}'  可以输出 系统变量 PATH 的值

但是写成  

p.awk

END{print "'$PATH'"}


cat /dev/null | awk -f p.awk

则取不到 $PATH 的值了

哪位大侠解释一下为什么

AIX 下测试
作者: li2002    时间: 2008-07-09 21:19
写成-f 的形式不会对$PATH在运行前进行扩展,会直接打印出'$PATH'
作者: ffmm    时间: 2008-07-09 21:37
原帖由 li2002 于 2008-7-9 21:19 发表
写成-f 的形式不会对$PATH在运行前进行扩展,会直接打印出'$PATH'


如果要用,该怎么写呢?
作者: li2002    时间: 2008-07-09 21:58
以-v 的形式传变量到awk
作者: welcome008    时间: 2008-07-09 22:12
awk 'END{print "'$PATH'"}'

实际上是awk 'END{print "         '              $PATH          '           "}'

在这里,$PATH是由shell解释的,不是awk解释的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2