我试过
expr 0==false
但它返回0而不是1。
根据http://wiki.tcl.tk/16295,假值是不区分大小写的单词no,off,false,它们的唯一缩写和0。
这很奇怪,或者我的理解是错的?
答案 0 :(得分:4)
在为expr
命令指定操作数时,为了验证布尔值,我们应该只使用string is
命令。
% expr {0==false}
0
% expr {[string is false 0]}
1
简单地对布尔等于==
进行验证会将它们视为文字字符串/列表。
参考: expr