Shell条件语句
条件测试操作:
Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时(真)时表示成功,返回值为非0时(假)表示失败或异常
test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为0时表示条件成立)
格式一:
| test 条件表达式 |

格式二:
| [ 条件表达式 ] |

文件测试:
格式:
[ 操作符 文件或目录 ]
常用的操作符:
- -e:测试目录或文件是否存在(Exist)
- -d:测试是否为目录(Directory)
- -f:测试是否为文件(File)
- -r:测试当前用户是否有权限读取(Read)
- -w:测试当前用户是否有权限写入(Write)
- -x:测试是否设置有可执行权限(Excute)
- -L:测试是否为符号链接
整数值比较
格式:
| [ 整数变量1 操作符 整数变量2 ] |
常用的操作符:
- -eq:等于(Equal) ==
- -ne: 不等于(Not Equal) !=
- -gt:大于 (Greater Than) \>
- -lt:小于(Lesser Than) \<
- -ge:大于或等于(Lesser or Equal)
- -le:小于或等于(Greater or Equal)

常用的测试操作符


字符串比较
格式一:
|
[ 字符串1 = 字符串2 ] [ 字符串1 != 字符串2 ] |

格式二:
| [ -z 字符串 ] |

常用的测试操作符
- =:字符串内容相同
- !=:字符串内容不同,!号表示相反的意思
- -z:字符串内容为空
逻辑测试
格式一:
| [ 表达式1 ] 操作符 [ 表达式2 ] |

格式二:
| [ 命令1 操作符 命令2 ] |

常用的测试操作符
- -a或&&:逻辑与,“而且”的意思
- -o或||:逻辑或,“或者”的意思
- !=:逻辑否


if语句的结构
单分支结构:
|
if 条件测试操作 then 命令序列 fi |



双分支语句
|
if 条件测试操作 then 命令序列1 else 命令序列2 fi |



多分支语句:
|
if 条件测试操作 then 命令序列1 elif 条件测试操作2 then 命令序列2 else 命令序列2 fi |



case分支语句
|
case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认命令序列 esac |


浙公网安备 33010602011771号