1.文件判断语句
1 -d 测试文件是否为目录类型 2 -e 测试文件是否存在 3 -f 判断是否为一般文件 4 -r 测试当前文件是否有权限读取 5 -w 测试当前用户是否有权限写入 6 -x 测试当前用户是否有权限执行
2.逻辑判断语句
(1)&&:逻辑语句用于对测试结果进行逻辑分析,根据测试结果可实现不同的效果。例如在shell终端中逻辑“与”的运算符号是&&,它表示当前面的命令执行成功后才会执行它后面的命令,因此可以用来判断/dev/cdrom文件是否存在,若存在则输出Exist字样
1 [root@test ~]# ll /dev/cdrom 2 lrwxrwxrwx. 1 root root 3 Dec 14 21:54 /dev/cdrom -> sr0 3 [root@test ~]# [ -e /dev/cdrom ] && echo "Exist" 4 Exist
(2)||:除了逻辑“与”外,还有逻辑“或”,它在Linux系统中的运算符号为||,表示当前面的命令执行失败后才会执行它后面的命令,因此可以用来结合系统环境变量USER来判断当前登录用户是否为非管理员身份:
[root@test ~]# echo $USER root [root@test ~]# [ $USER=root ] || echo "user" [root@test ~]# su mysql [mysql@test root]$ echo $USER mysql [mysql@test root]$ [mysql@test root]$ [ $USER=root ] || echo "user"
(3)!:第三种逻辑语句是“非”,在Linux系统中的运算符号是一个叹号(!),它表示把条件测试中的判断结果取相反值。也就是说,如果原本测试结果是正确的,则将其变成错误的;原本测试结果错误的结果将其变成正确的。
3.整数值比较语句
-eq 是否等于 -ne 是否不等于 -gt 是否大于 -lt 是否小于 -le 是否小于等于 -ge 大于等于
[mysql@test root]$ [ 10 -eq 10 ] && echo "10=10"
10=10
4.字符串比较语句
= 比较字符串内容是否相等 != 比较字符串内容是否不同 -z 判断字符串内容是否为空
1 [mysql@test root]$ echo $LANG 2 en_US.UTF-8 3 [mysql@test root]$ [ $LANG != "en.US" ] && echo "Not en.US" 4 Not en.US 5 [mysql@test root]$ 6 7 8 [mysql@test root]$ [ -z $string ] 9 [mysql@test root]$ echo $? 10 0 11 [mysql@test root]$ [ -z $string ] && echo "string字符串为空" 12 string字符串为空