首先要明白一个概念:bash中所有的变量都是字符串。对变量进行数值计算时,只不过是把字符串转换成数字,然后计算,计算后再把结果数字转换为字符串。 再说"==“和”-eq"的区别 "=="是判断字符串是否相等。 "-eq"是判断字符串对应的数字值是否相等。 举个栗子。 创建eq.sh脚本 >vi eq.sh 内容如下 #!/bin/...
=和 == 用于字符串比较 -eq 用于数值比较 注意== 不是 POSIX 兼容的,在 sh(Bourne Shell) 或其兼容的 POSIX shell 中,== 用于字符串比较的操作符不是正式支持的。POSIX 规范和原始的 Bourne Shell 使用单个等号 = 作为字符串比较的操作符。在 Bourne Again Shell(bash) 、ksh 中,则两者都可以使用。
2.-ne 不等于,如:if [ "$a" -ne "$b" ]
shell脚本中$的多种用法($* 、 $@ 、$_ 、$# 、$$ 、$! 、 $? )和 -eq,-ne,-gt,-lt,-ge,-le数字比较符 1、在shell中进行比较时,结果为0代表真,为1代表假。 2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。 -eq //equals等于 -ne //no equals不等于 -gt //...
1、在shell中进行比较时,结果为0代表真,为1代表假。 2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。 -eq //equals等于 -ne //no equals不等于 -gt //greater than 大于 -lt //less than小于 -ge //greater equals大于等于 ...
1、在shell中进行比较时,结果为0代表真,为1代表假。 2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。 -eq //equals等于 -ne //no equals不等于 -gt //greater than 大于 -lt //less than小于 -ge //greater equals大于等于 ...
1、在shell中进行比较时,结果为0代表真,为1代表假。 2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。 -eq //equals等于 -ne //no equals不等于 -gt //greater than 大于 -lt //less than小于 -ge //greater equals大于等于 ...