携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
条件测试操作
Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功
- 当返回值为0时为真
- 返回非0值为假
基本格式:
1.test + 条件表达式
2 [ 条件表达式 ]
文件测试
- [ 操作符 文件或目录 ]
- test 操作符 文件或目录
常见操作符
例:检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
整数值比较
格式:[ 整数变量 操作符 整数变量 ]
常见操作符
字符串比较
- =:字符串内容相同
- !=:字符串内容不同,! 号表示相反的意思
- -z:字符串内容为空
- -n:字符是否存在
常用格式:
- [ "字符串1" = "字符串2" ] 测试字符串1和字符串2的内容是否相同
- [ "字符串1" != "字符串2” ] 测试字符串1和字符串2的内容是否不同
- [ -z "字符串" ] 测试字符串是否为空,或者指定的变量是否为空值。
- [ -n "字符串" ] 测试字符串是否存在,即是否不为空。
逻辑测试
[ 表达式 ] 操作符 [ 表达式 ]
- -a或&& :逻辑与,“而且”的意思,全真才为真。
- -o或|| :逻辑或,“或者”的意思,一真即为真。
- ! :逻辑否。
例:
三元运算操作
- [ 表达式 ] && a || b
- 当表达式为真时,取a值;当表达式为假时,取b值
例:
if语句
if单分支结构
if 条件测试
then 命令序列
fi
例:判断已用磁盘空间是否大于80%,如果是就报警提示
将80%改为10%,运行即可看见报警信息
if双分支结构
if 判断条件
then
条件成立的分支代码
else
条件不成立的分支代码
fi
例:检测80端口是否在监听,如果是,则提示”网站服务已在运行“;如果否,则启动httpd服务。
if多分支结构
例:输入自己的分数,不同分段执行不同的结果
case语句
格式:
实例:输入自己的分数,不同分段执行不同的结果