IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Shell编程之条件语句 -> 正文阅读

[开发测试]Shell编程之条件语句

目录

前言

一、条件测试

1.test命令

2.文件测试

3.整数值的比较

4.字符串的比较

?5.逻辑测试

二、if语句

1.单分支的if语句

2.双分支的if语句

3.多分支的if语句

?三、case语句

1.case语句的结构

2.case分支语句

总结


前言

如何进行条件测试操作,并通过正确的条件语句,使Shell脚本具有一定的判断能力,以我们设置的不同条件来完成不同的管理任务。

一、条件测试

1.test命令

Shell环境中根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值是0时表示成功,否则(非0)表示失败。使用专门的测试工具-test命令。

格式:test 条件表达式

格式:[ 条件表达式 ]

格式:[[]]

2.文件测试

常用选项

-f测试是否为文件(File)
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-r测试当前用户是否有权限读取(Read)
-w测试当前用户是否有权限写入(Write)
-x测试当前用户是否有权限执行(Excute)
-b测试是否为块设备
-c测试是否为字符设备文件
-s测试存在且文件大小为空
-L测试是否为软连接文件

3.整数值的比较

使用时将操作选项放在要比较的两个整数之间

常用的操作

-eq第一个数等于(Equal)第二个数
-ne第一个数不等于(Not Equal)第二个数
-gt第一个数大于(Greater Than)第二个数
-lt第一个数小于(Lesser Than)第二个数
-ge第一个数大于或等于(Greater or Equal)第二个数
-le第一个数小于或等于(Lesser or Equal)第二个数

4.字符串的比较

字符串比较通常用来检查用户输入、系统环境等是否满足条件,在提供交互式操作的Shell脚本中,也可用来判断用户输入的位置参数是否符合要求。

格式1:[ 字符串1 = 字符串2 ];[ 字符串1 != 字符串2 ]

格式2:[ -z 字符串 ]

常用的测试操作符解释
=第一个字符串与第二个字符串内容相同
!=第一个字符串与第二个字符串内容不同,!号表示相反的意思
-z检查字符串内容是否为空,对于未定义或赋予空值的变量将视为空串

?5.逻辑测试

判断两个或多个条件之间的依赖关系

当系统任务取决于多个不同的条件的时候,判断是根据这些条件同时成立还是只要其中一个成立等情况

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...

格式2:命令1 操作符 命令2 ...

&&:逻辑与,表示"而且",只有当前后两个条件都成立时,整个测试命令的返回值―才为0(结果成立)。使用test命令测试时,“&&"可改为"-a"。
||:逻辑或,表示"或者",只要前后两个条件中有一个成立,整个测试命令的返回值即为0(结果成立)。使用test命令测试时,“||"可改为"-o"。
!:逻辑否,表示"不",只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)。

二、if语句

1.单分支的if语句

if 条件测试操作
then
    命令序列
fi

2.双分支的if语句

若条件不成立,则忽略then,跳至else后面的命令序列执行,直到fi结束

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

3.多分支的if语句

if 条件测试操作1
then
    命令序列1
elif 条件测试操作2
then
    命令序列2
else
    命令序列3
fi

要求每个阶段学习结束后会有阶段测试,默写和测试不合格者会有相应惩罚
惩罚规则如下:
90-100 错题 抄 10

80-89 错题 抄 20

60-79 错题 抄 30

60以下 全抄 30

?三、case语句

1.case语句的结构

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

2.case分支语句


case 变量值 in
模式1)
    命令序列1
    ;;
模式2)
    命令序列2
    ;;
    
    ......
 
*)
    默认命令序列
esac

总结

使用[[]]、[] 或test命令可以执行条件测试操作

执行命令或程序后会返回一个状态值,若返回值为0,表示执行成功;若不为0,则表现执行失败或出现异常

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:04:57  更:2021-09-09 12:06:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 23:26:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码