条件判断语句--linux

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字符串为空

 

posted @ 2020-12-14 22:35  漫步sch  阅读(533)  评论(0)    收藏  举报