条件判断格式:
test 选项 条件 或者 [ 选项 条件 ] //中括号两边都有空格
文件或目录选项:
-e 表示文件是否存在
-d 条件是为目录
-f 条件是否问文件
-w 条件是有写权限
-r 条件是否有读权限
-x 条件是否有执行权限
例如:
test -e /etc/passwd
echo $? (0 表示上面条件正确)
[ -f /etc/passwd ]
echo $? (0 表示上面条件正确)
[ -f /etc/passwd ] && echo yes || echo no (此写法不用echo $? 输出结果了)
数字:
[ 数1 -gt 数2 ] //判断数1 是否大于数2 . gt为 greater than 缩写
[ 数1 -lt 数2 ] //判断数1 是否小于数2 . lt为 lower than 缩写
[ 数1 -eq 数2 ] //判断数1 是否等于数2 . eq为equal 缩写
例如:
[ 22 -gt 20 ] && echo yes || echo no
字符串:
-z //判断字符串是否为空
== // 判断两个字符串是否相等
例如:
name ="tom"
[ -z "$name" ] && echo yes || echo no
[ "abc"=="abc" ] && echo yes || echo no