标签: bash
在Mac和Ubuntu上,运行此命令的计算结果为true。为什么呢?
[[ zero -eq 0 ]] && echo true true
答案 0 :(得分:6)
-eq运行数字比较。
-eq
当一个字符串作为操作数给出时,会查找一个命名相似的变量的值。
因此,这相当于[[ $zero -eq 0 ]]。空字符串的数值为0。因此,除非为名为zero的shell变量分配了不同的值,否则这相当于[[ 0 -eq 0 ]],这是真的。
[[ $zero -eq 0 ]]
0
zero
[[ 0 -eq 0 ]]