一、条件测试
1.1 test命令
1.1.1说明
测试表达式是否成立,若不成立返回0,否则返回其他数值
1.1.2 格式1
test 条件表达式
1.1.3 格式2
[ 条件表达式 ]
1.1.4 测试选项
测试选项 | 作用 |
---|---|
-b 文件判断该文件是否存在,并且是否为块设备文件 | |
-c 文件 | 判断该文件是否存在,并且是否为字符设备文件 |
-d 文件 | 判断该文件是否存在,并且是否为目录文件 |
-e 文件 | 判断该文件是否存在 |
-f 文件 | 判断该文件是否存在,并且是否为普通文件 |
-L 文件 | 判断该文件是否存在,并且是否为符号链接文件 |
-p 文件 | 判断该文件是否存在,并且是否为管道文件 |
-s 文件 | 判断该文件是否存在,并且是否为非空 |
-S 文件 | 判断该文件是否存在,并且是否为套接字文件 |
1.2 文件测试
1.2.1 格式
[ 操作符 文件或目录 ]
1.2.2 常用操作符
常用操作符 | 说明 |
---|---|
-d | 测试是否为目录(Directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试当前用户是否有权限执行(eXcute) |
1.3 整数值比较
1.3.1 格式
[ 整数1 操作符 整数2 ]
1.3.2 常用操作符
常用操作符 | 说明 |
---|---|
-eq | 等于(Equal) |
-ne | 不等于(Not Equal) |
-lt | 小于(Lesser Than) |
-gt | 大于(Greater Than) |
-le | 小于或等于(Lesser or Equal) |
-ge | 大于或等于(Greater or Equal) |
1.4 字符串比较
1.4.1 格式1
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
1.4.2 格式2
[ -z 字符串 ]
1.4.3 常用操作串
常用操作串 | 说明 |
---|---|
= | 字符串内容相同 |
!= | 字符串内容不同,!号表示相反的意思 |
-z | 字符串内容为空 |
-n | 检查是否有字符串存在 |
1.5 逻辑测试
1.5.1 格式1
[ 表达式1 ] 操作符 [ 表达式2 ]
1.5.2 格式2
命令1 操作符 命令2
1.5.3 常用操作符
常用操作符 | 说明 |
---|---|
-a或&& | 逻辑与,而且的意思 |
-o或▕▕ | 逻辑或,或者的意思 |
! | 逻辑否 |
二、if语句
2.1 if 单分支语句
2.1.1 语法结构
if 条件测试操作
then 命令序列
fi
2.1.2 结构图
2.1.3 实例:
2.2 if 双分支语句
2.1.1 语法格式
if 条件测试操作
then
命令序列1
else
命令序列2
fi
2.1.2 结构图
2.1.3 实例
2.3 if 多分支语句
2.3.1 语法结构
if 条件测试操作1
then
命令序列1
elif 条件测试操作2
then
命令序列2
else
命令序列3
fi