|
发表于 2006-5-18 08:46:22
|
显示全部楼层
Post by home_king
javalee老兄说得不错。但我也不知道awk解析bash变量的过程是怎样。
建议看看awk的相应部分源代码。
关于awk 用bash变量的问题.
我想这里面存在误解,
其实这整个跟awk 没有任何关系.
是bash在运行awk之前把它的变量代进去了.
下面是例子:
- ~$ b="aa bb"
- ~$ a={print" "$b""}
- ~$ echo $a
- {print "aa bb"}
- ~$ echo |awk "$a"
- aa bb
- ~$ echo |awk '{print "'"$b"'"}'
- aa bb
- ~$ a={print" $b"}
- ~$ echo $a
- {print aa bb}
- ~$ echo |awk -v aa="cc" -v bb="dd" "$a"
- ccdd
- ~$ echo |awk -v aa="cc" -v bb="dd" '{print '"$b"}
- ccdd
复制代码 |
|