不可不知道的test工具的使用方法及参数设置

简介: 本文介绍了`test`工具在Shell命令测试中的应用,包括检查文件存在性、权限、文件比较、数值和字符串比较以及多条件判断等常见用法,并提供了具体示例。

 1 test 工具

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

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

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

image.png

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

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

image.png

两文件之间的比较:

选项 作用
-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.png

相关文章
|
机器学习/深度学习 编解码 算法
【图像融合】基于加权 IHS PCA三种像素级算法实现遥感图像融合附matlab代码
【图像融合】基于加权 IHS PCA三种像素级算法实现遥感图像融合附matlab代码
706 0
【图像融合】基于加权 IHS PCA三种像素级算法实现遥感图像融合附matlab代码
|
人工智能 自然语言处理 前端开发
【CodeBuddy】三分钟开发一个实用小功能之:记忆翻牌配对游戏
CodeBuddy 是一款强大的 AI 编程助手,能够将自然语言描述快速转化为可运行的代码。通过记忆翻牌游戏的开发案例,展示了其从需求理解到技术实现的全流程支持:利用 CSS 的 `transform` 和 `grid` 布局实现动态卡片与响应式设计,借助 JavaScript 管理游戏状态和交互逻辑。AI 不仅能自动生成代码框架,还能优化动画效果、处理防抖机制等细节,大幅降低开发门槛。这一工具让开发者专注于创意本身,推动编程从“手动编写”向“思维传递”转变,开启人机协作新篇章。
682 7
【CodeBuddy】三分钟开发一个实用小功能之:记忆翻牌配对游戏
|
11月前
|
存储 SQL 分布式计算
终于!大数据分析不用再“又要快又要省钱”二选一了!Dataphin新功能太香了!
Dataphin推出查询加速新功能,支持用StarRocks等引擎直连MaxCompute或Hadoop查原始数据,无需同步、秒级响应。数据只存一份,省成本、提效率,权限统一管理,打破“又要快又要省”的不可能三角,助力企业实现分析自由。
519 49
|
人工智能 JSON 运维
Dataphin MCP:让数据查询 “轻而易举”
Dataphin推出MCP服务,助力Agent高效获取数据,释放企业数据价值。
1081 10
|
缓存 网络协议 算法
c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包
c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包
726 0
c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
7340 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
SQL 存储 监控
Hive 插入大量数据
【8月更文挑战第15天】
1069 0
|
SQL 分布式计算 资源调度
一文看懂 Hive 优化大全(参数配置、语法优化)
以下是对提供的内容的摘要,总长度为240个字符: 在Hadoop集群中,服务器环境包括3台机器,分别运行不同的服务,如NodeManager、DataNode、NameNode等。集群组件版本包括jdk 1.8、mysql 5.7、hadoop 3.1.3和hive 3.1.2。文章讨论了YARN的配置优化,如`yarn.nodemanager.resource.memory-mb`、`yarn.nodemanager.vmem-check-enabled`和`hive.map.aggr`等参数,以及Map-Side聚合优化、Map Join和Bucket Map Join。
1534 0
|
SQL 存储 JSON
StarRocks进阶
【6月更文挑战第1天】StarRocks支持四种表类型:明细表、聚合表、更新表(正被主键表取代)和主键表。建表后类型不可修改,排序键需先于其他列定义,不支持BITMAP和HLL类型。主键表具有唯一非空约束的主键,适合实时更新和高效查询。明细表用于追加新数据,不支持修改。聚合表用于聚合统计,排序键需唯一。表引擎默认为OLAP,也可连接到外部数据源如MySQL、Hive等。数据类型包括数值、字符串、日期和半结构化类型如JSON。此外,还支持多种函数、DDL操作和HTTP SQL API。
3140 0