Shell编程自动化之数学运算与条件测试

简介: 本文主要介绍了Shell编程自动化之数学运算与条件测试,并结合实例测试。

一、Shell数学运算

1.Shell常见的算术运算符号

序号 算术运算符号 意义
1 +、-、*、/、% 加、减、乘、除、取余
2 ** 幂运算
3 ++、-- 自增或自减
4 &&、!、(两条竖线) 与、或、非
5 ==、!= 相等、不相等,==也可写成=
6 =、+=、-=、*=、/=、%= 赋值运算符,a+=1相等于a=a+1

2.Shell常用算术运算命令

序号 算术运算命令 意义
1 (())、let、$[] 用于整数运算
2 expr 可用于整数运算,还有其他功能
3 awk、bc 可用于整数运算,也可用于小数运算

3.实例测试:

2024-01-06_linux_shell_01.png

二、Shell条件测试

1.条件测试常用的语法

序号 条件测试语 意义
1 test <测试表达式> 这是利用test命令进行条件测试表达式的方法,test命令和“<测试表达式>”之间至少有一个空格。
2 [ <测试表达式> ] [ ]的边界和内容之间至少有一个空格。

2.test条件测试

常用文件类型、文件权限、文件比较、整数比较、字符串判断和逻辑判断。

序号 参数 意义
1 -e 判断文件(普通文件或目录文件)是否存在
2 -f 判断普通文件是否存在
3 -d 判断目录文件是否存在
4 -r 判断文件是否有读权限
5 -w 判断文件是否有写权限
6 -x 判断文件是否有执行权限
7 -nt test file1 -nt file2,判断file1是否比file2新
8 -ot test file1 -ot file2,判断file1是否比file2旧
9 -ef test file1 -ef file2,判断file1和file2是否同一文件
10 -eq 判断两个整数是否相等
11 -ne 判断两个整数是否不相等
12 -gt test n1 -gt n2,判断整数1是否大于整数2
13 -lt test n1 -lt n2,判断整数1是否小于整数2
14 -ge test n1 -ge n2,判断整数1是否大于等于整数2
15 -le test n1 -le n2,判断整数1是否小于等于整数2
16 -z 判断字符串是否为0?若字符串为空字符串,则为真,否则反
17 -n 判断字符串是否为非0?若字符串为非空字符串,则为真,否则反
18 == 判断两个字符串是否相等
19 != 判断两个字符串是否不相等
20 &&或-a 逻辑与,两端都为真,则为真
21 (两条竖线)或-o 逻辑或,两端其中一端为真,则为真
22 逻辑非,取反

2024-01-06_linux_shell_02.png

3.中括号[ ]的条件测试

在脚本中经常进行条件测试,用的最多的是中括号[ ],功能与test一样,中括号与内容两边必须有空格,在条件测试中使用变量必须添加双引号,例如:[ -n "$str" ]

2024-01-06_linux_shell_03.png


相关文章
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
43 1
|
1月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
1天前
|
jenkins 测试技术 持续交付
深入探索软件测试中的持续集成与自动化测试实践
【4月更文挑战第27天】 在当今软件开发的快速迭代过程中,持续集成(CI)和自动化测试已成为确保代码质量和加快交付速度的关键因素。本文将探讨如何通过实施持续集成流程,并结合自动化测试策略来优化软件测试工作。我们将分析持续集成的原理、自动化测试的最佳实践以及如何将这些方法应用于实际项目中,旨在为读者提供一套完整的解决方案,以提高软件项目的效率和质量。
9 3
|
4天前
|
测试技术 API 网络架构
Python的api自动化测试 编写测试用例
【4月更文挑战第18天】使用Python进行API自动化测试,可以结合`requests`库发送HTTP请求和`unittest`(或`pytest`)编写测试用例。以下示例: 1. 安装必要库:`pip install requests unittest` 2. 创建`test_api.py`,导入库,定义基础URL。 3. 创建继承自`unittest.TestCase`的测试类,包含`setUp`和`tearDown`方法。 4. 编写测试用例,如`test_get_users`,检查响应状态码和内容。 5. 运行测试:`python -m unittest test_api.py`
12 2
|
11天前
|
监控 Shell 开发工具
Shell编程
Shell编程
|
18天前
|
敏捷开发 监控 测试技术
深入探索软件测试中的自动化边界
【4月更文挑战第10天】 在现代软件开发过程中,自动化测试已成为提升效率、确保质量的关键手段。然而,随着技术的不断进步和项目需求的多样化,确定自动化的合理边界成为测试工程师面临的重要问题。本文将探讨如何界定自动化测试的有效范围,包括成本效益分析、风险评估与技术选型等方面,并提出一种基于风险和回报权衡的自动化测试策略。
11 0
|
20天前
|
测试技术
深入理解软件测试中的自动化边界
【4月更文挑战第7天】 在追求快速交付和质量保证的双重压力下,软件测试领域正经历着从手工到自动化的转变。本文旨在探讨自动化测试的有效边界,即哪些场景适合自动化,以及如何界定这些边界以优化测试策略。通过对自动化测试优势、挑战及适用性的分析,文章为读者提供了一个清晰的框架,用于评估和实施自动化测试。
|
23天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
45 6
|
27天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。
|
30天前
|
存储 Java Shell
bigdata-04-shell编程基础
bigdata-04-shell编程基础
13 0

热门文章

最新文章