awk的0与”0″假与真awk真假

awk的0与”0″假与真awk真假

awk的 0 与 "0" 区别在哪?
  我们先来看一个例子: 
awk 'BEGIN{if(0) print "true";else print "false"}'
false
awk 'BEGIN{if("0") print "true";else print "false"}'
true
为什么同样是 0 ,结果却不一样?
  其实要解释这个问题,只需要弄清楚awk中的“真”与“假”。
  以下3种情况是“假”,其他情况都为“真”
  1) 数字 0
  2) 空字符串
  3) 未定义的值 
awk 'BEGIN{a=0;if(a) print "true";else print "false"}'
false
awk 'BEGIN{a="";if(a) print "true";else print "false"}'
false
awk 'BEGIN{if(a) print "true";else print "false"}'
false