目录
一、条件测试
1:条件测试操作
1.1定义
shell环境根据命令执行后的返回状态值用$?来判断是否成功,输入$0的时候 返回值如果是0则表示成功,返回值如果是非0值的时候则表示失败或异常
1.2格式
格式一:test条件表达式
格式二:[ 条件表达式 ] 方括号“[“或”]”与条件表达式之间需要至少一个空格进行分隔
2:文件测试
格式:[ 操作符 文件或者目录 ]
常用的操作符:
-e | 测试目录或文件是否存在(Exist) |
-d | 测试是否为目录(Directory) |
-f | 测试是否为文件(FILE) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试是否设置有可执行(Excule)权限 |
-L | 测试是否为符号链接 |
3:整数测试
3.1格式:
[ 整数变量1 操作符 整数变量2 ]
3.2常用的操作符
-eq | 等于 |
-ne | 不等于 |
-qt | 大于 |
-lt | 小于 |
-le | 小于等于 |
-ge | 大于等于 |
4:字符串测试
4.1:格式1:
[ 字符串1 = 字符串2 ] 或 [ 字符串1 == 字符串2 ]
[ 字符串1 != 字符串2 ]
4.2:格式2:
[ -z "字符串" ] 检查字符串是否为空(zero), 对于未定义或赋予控制的变量将视为空串
[ -n "字符串" ] 检查是否有字符串存在
注意:引号的使用,这是防止空格扰乱代码的好方法
5:逻辑测试
5.1:格式
格式1:
[ 表达式1 ] 操作符 [ 表达式2 ]
格式2:命令1 操作符 命令2
5.2常用的操作符:
-a或&& | 逻辑与,"而且"的意思,前后条件需都成立 |
-o或|| | 逻辑或,’或者‘的意思,只需前后条件中一个成立 |
!: | 逻辑否 |
5.3:例子
[ $a -ne 1 ] && [ $a !=2 ] 等同于 [ $a -ne 1 -a $a !=2 ]
二、if语句的结构
1:单分支结构
1.1:图片
1.2 例子
2:双分支结构
2.1:图片
2.2:例子
3:多分支结构
3.1:图片
3.2:例子
三:case语句结构
1:分支结构
2:例子
四: 总结:
if单分支结构
if双分支结构
if多分支结构
整数测试
case多分支结构