shell编程之条件语句

发布于:2023-01-04 ⋅ 阅读:(272) ⋅ 点赞:(0)

shell编程之条件语句

条件测试

shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0(假false)时表示失败或异常
test命令:可以对特定条件测试,并根据返回值来判断条件是否成立( ** $? 返回值为0表示条件成立**)。

  • 文件测试
    格式:【 操作符 文件或目录 】
    常用的操作符
-e 测试目录或文件是否存在(Exist)
-d 测试是否为目录(Directory)
-f 测试是否为文件(File)
-r 测试当前用户是否有权限读取(Read)
-w 测试当前用户是否有权限写入(Write)
-x 测试是否设置有可执行权限(Excute)
-L 测试是否为符号链接

在这里插入图片描述
在这里插入图片描述

  • 整数测试
    格式:[ 整数变量1 操作符 整数变量2 ]
-eq 等于 ==
-ne 不等于 !=
-gt 大于 >
-lt 小于 <
-le 小于等于
-ge 大于等于

在这里插入图片描述
在这里插入图片描述

  • 字符串测试
    1、格式:
[ 字符串1 = 字符串2 ] 或[ 字符串1 == 字符串2 ]
[ 字符串1 != 字符串2 ]

在这里插入图片描述

2、

** [ -z “字符串” ]** 检查字符串是否为空(zone),对于未定义或赋予空值的变量将视为空串
[ -n “字符串” ] 检查是否有字符串存在
  • 逻辑测试
    1、格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
    2、格式2:命令1 操作符 命令2 …

常用的测试操作符

-a或&& 逻辑与,“而且”的意思
-o 逻辑或,“或者的意思”
逻辑否

在这里插入图片描述
在这里插入图片描述

if语句

if单分支语句

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

例题:
if 已用磁盘空间>80%
then 报警
fi
在这里插入图片描述

if双分支语句

格式:
if 条件测试操作
then 命令序列1
else 命令序列2
fi

在这里插入图片描述
在这里插入图片描述
例题:
if 80端口是否在监听
then 网站服务已在运行
else 启动httpd服务
fi
在这里插入图片描述

if多分支语句

在这里插入图片描述
格式:
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi

例题:分数定级
在这里插入图片描述
在这里插入图片描述

case分支语句

格式:
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;

*)
默认命令序列
esac
在这里插入图片描述
例题1:

在这里插入图片描述

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看