test工具的使用,你知道多少?

简介: 本文介绍了shell命令测试工具test的基本使用方法,包括文件存在性、属性检查、文件比较、数值和字符串比较及多条件判定等常见应用场景,并提供了具体示例和参数说明。

 1 test 工具

为了更方便的对输入的shell命令进行测试,我们今天引入test测试工具,来对条件进行判断测试。

接下来我们通过下面的例子来学习使用test工具:

test –e /opt/script 检查/opt/script目录或文件是否存在

image.gif

检查文件是否存在的参数设置:

选项 作用
-e 文件是否存在(常用)
-f 文件是否存在且为普通文件(常用)
-d 文件是否存在且为目录(常用)
选项 作用
-r 检查文件读取权限
-w 检查文件写入权限
-x 检查文件执行权限
-s 检查文件是否存在且为非空白文件

image.gif

两文件之间的比较:

选项 作用
-nt 判断file1是否比file2新
-ot 判断file1是否比file2旧
-ef 判断file1与file2是否为同一文件,可用在硬链接(某个实体文件别名)的判定上,主要意义在于判定两个文件是否均指向同一个索引节点

两个数值之间的比较:

选项 作用
-eq 两数值相等
-ne 两数值不等
-gt n1大于n2
-lt n1小于n2
-ge n1大于或等于n2
-le n1小于或等于n2

判定字符串数据:

选项 作用
test -z string 判定字符串是否为0,若string为空字符串,则回传true
test -n string 判定字符串是否非0,若string为空字符串,则回传false(-n可以省略)
test str1=str2 判定str1是否等于str2,若相等,则回传true
test str1 !=str2 判定str1是否不等于str2,若相等,则回传false

多重条件判定:

选项 作用
-a 两状况同时成立。
-o 两状况任何一个成立。
反相状态

image.gif

相关文章
|
存储 缓存 JavaScript
node 框架
Node 框架以其独特的优势和广泛的应用场景,成为了现代 Web 开发中不可或缺的一部分。掌握 Node 框架的开发技能,对于开发者来说具有重要的意义。
683 156
|
7月前
|
数据采集 人工智能 文字识别
《法务RAG开发不踩坑:Kiln+LlamaIndex+Helicone的协同方法指南》
本文记录企业级法务知识库RAG系统的多AI协同开发实战:面对2万份格式混杂、含15%模糊扫描件的法律文档,14天交付需3秒响应精准查询的系统,构建Kiln AI、LlamaIndex、Helicone协同矩阵。Kiln AI完成数据清洗(有效信息密度提至85%)、合成训练样本及模型微调,使专业术语识别准确率达92%;LlamaIndex搭建三层检索架构,融合语义与关键词检索,匹配错误率降至5%,响应时间缩至2.1秒;Helicone优化提示词与推理监控,输出规范率达97%。
389 3
|
机器学习/深度学习 存储 人工智能
开年首场智算沙龙!龙蜥X SGLang邀你共探软硬件协同“最后一公里”,欢迎报名
欢迎大家报名参加,为大模型效能提升与自主算力平台落地提供创新思路。
|
6月前
|
存储 Windows
Windows PowerShell操作:如何删除环境变量
此外,还有一些第三方工具可以用来管理环境变量,这些工具通常提供了更为用户友好的界面来添加、编辑或删除环境变量,但是使用PowerShell可以更直接地控制这些设置,并且可以很容易地集成到脚本中以自动化环境配置的管理。
840 7
|
6月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
Ubuntu Linux 虚拟化
LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决
更新操作系统和内核:使用apt-get或apt命令更新你的Ubuntu操作系统和内核。运行以下命令更新软件包:
2456 0
|
人工智能 安全 Cloud Native
|
8月前
|
Ubuntu 安全 Linux
《Ubuntu 24.04.1版安装全攻略与实测体验》
综上所述,这次关于Ubuntu 24.04.1版的安装经历让我对新版本充满了期待,尽管细节上有些微的变化,但整体体验显得更加便捷易懂。在这一波Ubuntu新气象中,我期待与各位一起分享更多新鲜的体验与感受。
|
11月前
|
传感器 人工智能 API
通义灵码2.5深度评测:编程智能体与MCP工具的革新体验
通义灵码2.5通过“智能体+MCP”组合,重新定义了AI编码助手的边界。其价值不仅在于代码生成效率,更在于通过工具链整合和环境感知,推动开发流程向“声明式编程”演进。对于开发者而言,它既是提升效率的利器,也是探索AI辅助开发边界的实验场。
823 8
|
SQL 算法 数据挖掘
动态规划Dynamic programming详解-编辑距离问题【python】
动态规划Dynamic programming详解-编辑距离问题【python】