以下3种情况是“假”,其他情况都为“真”
1) 数字 0
2) 空字符串
3) 未定义的值
ly5066113@ubuntu:~$ awk 'BEGIN{a=0;if(a) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{a="";if(a) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a) print "true";else print "false"}'
false
复制代码
以上是普通的字符测试,对于是表达式的情况,先计算表达式,然后将结果按上面的情况测试
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=1) print "true";else print "false"}'
true
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=0) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a="0") print "true";else print "false"}'
true
ly5066113@ubuntu:~$ awk 'BEGIN{if(a="") print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=a) print "true";else print "false"}'
false
把这些命令自己执行下,就会明白
1) 数字 0
2) 空字符串
3) 未定义的值
ly5066113@ubuntu:~$ awk 'BEGIN{a=0;if(a) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{a="";if(a) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a) print "true";else print "false"}'
false
复制代码
以上是普通的字符测试,对于是表达式的情况,先计算表达式,然后将结果按上面的情况测试
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=1) print "true";else print "false"}'
true
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=0) print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a="0") print "true";else print "false"}'
true
ly5066113@ubuntu:~$ awk 'BEGIN{if(a="") print "true";else print "false"}'
false
ly5066113@ubuntu:~$ awk 'BEGIN{if(a=a) print "true";else print "false"}'
false
把这些命令自己执行下,就会明白