一、条件测试概述
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之类的文件)
3> 示例:
(2)整数测试
1> 格式:[ 整数1 操作符 整数2 ]
2> 常用的测试操作符:
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-ge:大于或等于(Greater or Equal)
-le:小于或等于(Lesser or Equal)
3> 示例:
(3)字符串测试
1> 格式:
[ 字符串1 = 字符串2 ] //字符串相同
[ 字符串1 != 字符串2 ] //字符串内容不同
[ -z 字符串 ] //字符串内容为空
2> 示例:
(4)逻辑测试
1> 格式:
[ 表达式1 ] 操作符 [ 表达式2 ]……
命令1 操作符 命令2 ……
2> 常用的测试操作符:
-a 或 &&:逻辑与,“而且” 的意思
-o 或 ||:逻辑或,“或者” 的意思
!:逻辑否
3> 示例:
二、if 条件语句
1.if 单分支语句
if 条件测试操作
then 命令序列
fi
示例:
2.if 双分支语句
if 条件测试操作
then 命令序列 1
else 命令序列 2
fi
示例:
3.if 多分支语句结构
if 条件测试操作 1
then 命令序列 1
elif 条件测试操作 2
then 命令序列 2
else
命令序列 3
fi
示例:
三、if 语句的简单实际应用示例(shell 脚本部署 YUM 仓库服务)
服务端运行脚本:
客户端运行脚本:
服务端运行测试:
另一个终端上看到正在复制…