条件语句
- 一、条件测试
- 1.条件测试操作
- 2.文件测试与整数测试
- 文件测试格式:
- 3.字符串测试与逻辑测试
- 字符串比较格式:
- 逻辑测试格式:
- 二、if语句
- 1.if单分支语句
- 格式
- 流程图
- 2.if双分支语句
- 格式
- 流程图
- 3.if多分支语句
- 格式
- 流程图
- 三、case分支语句
- 格式
- 流程图
一、条件测试
1.条件测试操作
要使 Shell 脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时表示成功,否则(非 0 值)表示失败或异常。使用专门的测试工具——test 命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立)。
test命令格式:
格式1: test条件表达式
格式2: [条件表达式]
2.文件测试与整数测试
文件测试格式:
[操作符文件或目录]
文件测试指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否 可读、可写、可执行等。文件测试的常见操作选项如下,使用时将测试对象放在操作选项之 后即可。
| 选项 | 用途 |
|---|---|
| -d | 测试是否为目录(Directory) |
| -e | 测试目录或文件是否存在(Exist) |
| -f | 测试是否为文件(File) |
| -r | 测试当前用户是否有权限读取(Read) |
| -w | 测试当前用户是否有权限写入(Write) |
| -x | 测试是否设置有可执行(Excute)权限 |
####整数值比较格式:
[整数1 操作符 整数2]
| 常用的测试操作符 | 含义 |
|---|---|
| -eq | 等于(Equal) |
| -ne | 不等于(Not Equal) |
| -gt | 大于(Greater Than) |
| -lt | 小于(Lesser Than) |
| -le | 小于或等于(Lesser or Equal) |
| -ge | 大于或等于(Greater or Equal) |
3.字符串测试与逻辑测试
字符串比较格式:
格式1 [字符串1=字符串2]
格式2 [字符串1 !=字符串2 ]
| 常用的测试操作符 | 含义 |
|---|---|
| = | 字符串内容相同 |
| != | 字符串内容不同,!号表示相反的意思 |
| -Z | 字符串内容为空 |
逻辑测试格式:
格式1:[表达式1] 操作符 [表达式2]…
格式2:命令1 操作符 命令2 …
| 常用的测试操作符 | 含义 |
|---|---|
| -a或&& | 逻辑与,"而且”的意思 |
| -o或|| | 逻辑或,“或者” 的意思 |
| ! | 逻辑否 |
二、if语句
1.if单分支语句
格式

流程图

2.if双分支语句
格式

流程图

3.if多分支语句
格式

流程图

三、case分支语句
case 语句主要适用于以下情况:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况与多分支的 if 语句非常相似,只不过 if 语句需要判断多个不同的条件,而 case 语句只是判断一个变量的不同取值。
格式

流程图





