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


相关文章
|
15天前
|
机器学习/深度学习 人工智能 算法
探索软件测试的未来:自动化与人工智能的融合
在数字时代的浪潮中,软件测试作为保障软件质量的重要环节,正面临前所未有的挑战与机遇。本文深入探讨了自动化测试和人工智能技术如何共同推动软件测试领域的革新,以及这一变革对测试人员技能要求的影响。通过分析当前行业趋势、案例研究和技术发展,文章旨在为读者揭示未来软件测试的可能走向,并激发对持续学习和适应新技术重要性的认识。
31 7
|
4天前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
11 3
django集成pytest进行自动化单元测试实战
|
3天前
|
人工智能 自然语言处理 测试技术
基于LangChain手工测试用例转接口自动化测试生成工具
本文介绍利用大语言模型自动生成接口自动化测试用例的方法。首先展示传统通过HAR文件生成测试用例的方式及其局限性,随后提出结合自然语言描述的测试需求与HAR文件来生成更全面的测试脚本。通过LangChain框架,设计特定的提示词模板,使模型能够解析测试需求文档和HAR文件中的接口信息,并据此生成Python pytest测试脚本。示例展示了正常请求、非法请求及无效路径三种测试场景的自动化脚本生成过程。最终,整合流程形成完整代码实现,帮助读者理解如何利用大模型提高测试效率和质量。
14 2
|
11天前
|
人工智能 搜索推荐 测试技术
软件测试的未来:自动化与人工智能的融合
随着技术的快速发展,软件测试领域也迎来了翻天覆地的变化。传统的手动测试方法正在逐渐被自动化测试所取代,而人工智能(AI)的加入则为软件测试带来了新的革命。本文将探讨自动化测试的现状、挑战以及AI如何改变软件测试的未来。
|
7天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
随着软件行业的发展,代码质量和效率变得至关重要。自动化测试与单元测试是保证质量、提升效率的关键。Python凭借其简洁强大及丰富的测试框架(如Selenium、Appium、pytest和unittest等),成为了实施自动化测试的理想选择。本文将深入探讨这些框架的应用,帮助读者掌握编写高质量测试用例的方法,并通过持续集成等策略提升开发流程的效率与质量。
26 4
|
13天前
|
jenkins 测试技术 持续交付
探索软件测试的新天地:自动化与持续集成的融合
【8月更文挑战第6天】在这篇文章中,我们深入探讨了软件测试领域内两大趋势——自动化测试和持续集成——如何相互融合,共同推动软件开发过程的效率和质量。文章将通过实际案例分析,展示这一融合对现代软件开发实践的影响,并讨论其对测试人员角色的深远意义。
31 9
|
15天前
|
监控 Shell Linux
探索Linux操作系统下的Shell编程之魅力
【8月更文挑战第4天】本文旨在通过一系列精心设计的示例和分析,揭示在Linux环境下进行Shell编程的独特之处及其强大功能。我们将从基础语法入手,逐步深入到脚本的编写与执行,最终通过实际代码案例展现Shell编程在日常系统管理和自动化任务中的应用价值。文章不仅适合初学者构建扎实的基础,同时也为有一定经验的开发者提供进阶技巧。
28 11
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试的未来之路:自动化与智能化的融合之旅
随着技术的飞速发展,软件测试领域正经历着一场革命。传统的手动测试方法逐渐让位于更加高效、智能的自动化测试策略。本文将探讨自动化测试工具的演进,以及人工智能如何赋能未来的软件测试实践,提升测试效率和准确性。我们将通过实例分析,了解自动化测试工具的现状,探索AI技术在测试中的应用,并展望未来软件测试的趋势。
21 2
|
11天前
|
机器学习/深度学习 人工智能 边缘计算
软件测试的未来:自动化与AI的融合
在数字化时代的浪潮中,软件测试作为确保产品质量的关键步骤,正经历着前所未有的变革。随着技术的发展,自动化测试和人工智能(AI)的结合不仅提升了测试的效率和准确性,还极大地扩展了测试的范围和深度。本文将探讨自动化测试的最新趋势、AI如何重塑测试流程,以及未来软件测试可能达到的新高度。
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件测试的未来:AI与自动化的交汇
随着人工智能(AI)和机器学习技术的迅猛发展,软件测试领域正迎来一场革命。本文将探讨如何通过结合AI与自动化技术来提升测试效率、准确性,以及预测潜在缺陷的能力。我们将深入分析AI在软件测试中的应用案例,并讨论其对测试工程师角色的潜在影响。
35 5