1.数字比较
数字比较比较好理解,基本上就是数值大小比较。
比较 操作符:
-eq 等于
-le 小于等于
-ge 大于等于
-gt 大于
-lt 小于
-ne 不等于
例如:
[ 1 -eq 1 ]
[ 2-ge 1 ]
[ 3 -gt 1 ]
...
其实我们比较熟悉的“>”“<”“>=”“<=”“==”也是可以使用的,不过需要使用“((...))”
例如:
if (( 2 >= 1 ))
if (( 1 == 1 ))
if (( 3 > 1))
...
2.字符串比较
字符串比较操作符:
= 字符串相等
== 字符串相等,与=等价
!= 字符串不想等
< 小于,比较的是字符串ASCII顺序
> 大于,比较的是字符串ASCII顺序
-z 字串为“null”,即长度为0
-n 字串不为“null”
例如:
if [[ abc > abcd ]] #false,字符串2多一个字符,值较大
if [[ axc > acx ]] #true,x的ascII值大于c的ascII值
if [ abc \> abcd ] #false,如果使用“[]”那么需要使用转义字符“\”
在比较大小写字母时,推荐使用“[]”,如下:
if [ A \> a ] #false,如果使用“[[...]]”结果是错误的
3.文件比较
文件比较操作符:
-nt 文件1比文件2新
-ot 文件1比文件2旧
-ef 文件1和文件2都应链接到同一个文件
例如:
先创建t133.sh,再创建t134.sh