shell中的比较和判断
一:比较
操作符
比较操作 整数操作 字符串操作
相同 -eq =
不同 -nq !=
大于 -gt >
小于 -lt <
大于等于 -ge
小于等于 -le
为空 -z
不为空 -n
范例:
1:比较整数a和b是否相等: if [ $a = $b ] (也可以用-eq)
2:判断整数a是否大于整数b:if [ $a > $b ]
3:比较字符串a和b是否相等:if [ $a -eq $b ]
4:判断字符串a是否为空: if [ -z $a ]
注意:
1:在“[” “]”的左右两边都要有空格
2:和赋值不同,这里的是等号,所以在“=”两边需要空格
二:判断
-e 文件已存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可读
-w 文件对当前用户可写
-x 文件对当前用户可执行
范例
#!/bin/sh
folder=/home
[ -r "$folder"] && echo "It is turth"
[-f "$folder"] || echo "It is faulth"