条件测试!

一、条件测试概述
1、条件测试的作用:对特定的条件进行判断,已决定如何执行操作。
2、测试方法:
方法 1: test 条件表达式
方法 2: [ 条件表达式 ] (常用,注意“[]”与条件表达式直接至少保留 1 个空格)
3、条件测试的分类:
(1)文件测试
1>格式:[ 操作符 文件或目录 ]
2>常用的测试操作符:
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否可读(Read)
-w:测试当前用户是否可写(Write)
-x:测试当前用户是否可执行(eXcute)
-s:测试文件大小非 0 时为真(若为非空文件,则为真)
-u:测试是否具有 SUID 属性
-g:测试是否具有 SGID 属性
-k:测试是否具有 sticky bit 粘滞位属性
-nt:测试第一个文件是否比第二个文件新(New Then)
-ot:测试第一个文件是否比第二个文件旧(Old Then)
-ef:测试第一个文件是否与第二个文件为同一个文件(link 之类的文件)

[root@localhost ~]# [ -d /a ]
[root@localhost ~]# echo $?

0

[root@localhost ~]# [ -e /p ]
[root@localhost ~]# echo $?
1

===================================================================

整数测试

-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-ge:大于或等于(Greater or Equal)
-le:小于或等于(Lesser or Equal

[root@localhost ~]# [ 1 -eq 0 ]
[root@localhost ~]# echo $?
1

[root@localhost ~]# [ 1 -ne 1 ]
[root@localhost ~]# echo $?
1

[root@localhost ~]# [ 1 -gt 1 ]
[root@localhost ~]# echo $?
1

[root@localhost ~]# [ 0 -lt 1 ]
[root@localhost ~]# echo $?
0

[root@localhost ~]# [ 0 -ge 1 ]
[root@localhost ~]# echo $?
1

[root@localhost ~]# [ 0 -le 1 ]
[root@localhost ~]# echo $?
0

原文地址:https://www.cnblogs.com/CMX_Shmily/p/11445066.html