shell脚本之test命令
shell脚本之test命令
- 数值比较:
- 2. 字符串比较:
- 3. 文件测试:
- 4. 逻辑操作:
- 5. 其他测试:
test命令在Shell脚本中用于进行条件测试和条件判断。它用于检查文件、字符串和数值的各种条件,并返回一个状态码,表示条件是否为真。test命令的返回值为0表示真,非零值表示假。
下面是test命令的一些常见用法和示例:
数值比较:
-eq:等于
-ne:不等于
-gt:大于
-ge:大于等于
-lt:小于
-le:小于等于
-eq:等于
-ne:不等于
-gt:大于
-ge:大于等于
-lt:小于
-le:小于等于例如,检查变量num1是否大于变量num2:
num1=10
num2=5 test $num1 -gt $num2
如果num1大于num2,则返回值为0,否则为非零值。
2. 字符串比较:
* `=`:相等
* `!=`:不相等
* `-z`:长度为零(空字符串)
* `-n`:长度非零(非空字符串)例如,检查变量`str1`是否等于变量`str2`:
str1="Hello"
str2="World" test $str1 = $str2
如果str1等于str2,则返回值为0,否则为非零值。
3. 文件测试:
* `-e`:文件或目录是否存在
* `-f`:是否为文件
* `-d`:是否为目录
* `-s`:文件大小是否大于零
* `-r`:是否有读取权限
* `-w`:是否有写入权限
* `-x`:是否有执行权限例如,检查文件`/path/to/file.txt`是否存在并且大小大于零:
test -e /path/to/file.txt -a -s /path/to/file.txtcd /bin
if test -e ./bash
thenecho '文件已存在!'
elseecho '文件不存在!'
ficd /bin
if test -e ./notFile -o -e ./bash
thenecho '至少有一个文件存在!'
elseecho '两个文件都不存在'
fi
如果文件存在且大小大于零,则返回值为0,否则为非零值。
4. 逻辑操作:
* `&&`:逻辑与(AND)
* `||`:逻辑或(OR)例如,检查变量`num1`是否大于10并且小于20:
num1=15 test $num1 -gt 10 -a $num1 -lt 20
如果num1大于10且小于20,则返回值为0,否则为非零值。
5. 其他测试:
* `-o`:或(OR)运算符,用于多个条件之间的或运算。例如,检查变量`num1`是否大于10或小于5:
num1=3 test $num1 -gt 10 -o $num1 -lt 5
相关文章:
shell脚本之test命令
shell脚本之test命令 数值比较:2. 字符串比较:3. 文件测试:4. 逻辑操作:5. 其他测试: test命令在Shell脚本中用于进行条件测试和条件判断。它用于检查文件、字符串和数值的各种条件,并返回一个状态码&#…...
JAVA设计模式8:装饰模式,动态地将责任附加到对象上,扩展对象的功能
作者主页:Designer 小郑 作者简介:3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家,阿里云社区专家博主,蓝桥云课讲师。 目录 一、什么是装饰模式二、…...
Linux学习之MySQL备份
xtrabackup资源下载 完全备份与恢复 # 1.物理备份与恢复 # 冷备份,需停止数据库服务 适合线下服务器。 [rootmysql50 ~]# systemctl stop mysqld [rootmysql50 ~]# mkdir /bakdir [rootmysql50 ~]# cp -r /var/lib/mysql /bakdir/mysql.bak [rootmysql50 ~]# cd /…...
时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化
时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化 目录 时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 北方苍鹰优化算法NGO优化VMD,对其分解层数,惩罚因子数做优化…...
分类预测 | Matlab实现RBF-Adaboost多特征分类预测
分类预测 | Matlab实现RBF-Adaboost多特征分类预测 目录 分类预测 | Matlab实现RBF-Adaboost多特征分类预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于RBF-Adaboost数据分类预测(Matlab完整程序和数据) 2.多特征输入…...
【Java代码规范】阿里编码规约 VS CheckStyle
全文速览: 1、关于代码编码质量2、如何小成本有效管理企业内的编码规范 2.1 阿里编码规约IDE插件2.2 CheckStyle IDE插件 3、如何在代码提交中检验规范 3.1 阿里编码规约配置git precommit check3.2 CheckStyle配置git precommit check3.3 实践 1、关于代码编码质…...
iPhone苹果15手机圆点怎么设置让屏幕上显示出来圆形图标?
iPhone苹果15手机圆点怎么设置让屏幕上显示出来圆形图标? 1、在iPhone苹果手机上找到「设置」并点击打开; 2、在苹果iPhone设置内找到「辅助功能」并点击打开; 3、在苹果iPhone手机辅助功能内的动作交互内找到「触控」并点击打开;…...
kibana报错内存溢出问题解决
一、背景: kibana内存溢出,进程被kill掉,导致前端页面访问不到。 报错内容 二、报错原因: 发现是前端 js 报的内存 oom 异常,通过网上资料发现node.js 的默认内存大小为1.4G Node 中通过 JavaScript 使用内存时只能…...
【C语法】1124循环结构
#include <stdio.h> int main(){ //输入一个数。倒叙输出各个位上的数。 //123456 6 5 4 3 2 1 // 1输出个位上的数 %10 // 2将这个数去掉个位上的数。 / 10 // 3当这个数最后变成0时结束 int a 0; printf("请输入一个正整数:"); scanf…...
在PHP8中向数组添加元素-PHP8知识详解
在php8中向数组添加元素有多种方法,在这里主要讲解几个常用的方法:使用方括号[]添加元素、使用array_unshift()函数,向数组的头部添加元素、使用array_push()函数,向数组的尾部添加元素、使用array_splice()函数添加元素。 1、使用…...
Drupal __ 8.5.0 __ XSS文件上传 __CVE-2019-6341
Drupal __ 8.5.0 __ XSS文件上传 __CVE-2019-6341 说明内容漏洞编号CVE-2019-6341漏洞名称Drupal XSS漏洞漏洞评级中危影响范围在7.65之前的Drupal 7版本中; 8.6.13之前的Drupal 8.6版本; 8.5.14之前的Drupal 8.5版本。漏洞描述Drupal诞生于2000年,是一…...
Pycharm中配置Celery启动
Pycharm中配置Celery启动 前置条件 目录结构 ----FerDemo --------celery_demo ------------tasks.py tasks.py文件代码 import sys import time from celery import Celeryapp Celery(demo,backendredis://:password127.0.0.1/0,brokerredis://:password127.0.0.1/1,broker…...
Jmeter —— 常用的几种断言方法(基本用法)
在使用JMeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言,断言相当于检查点,它是用来判断系统返回的响应结果是否正确,以此帮我们判断测试是否通过,本文 主要介绍几种常用的断言&…...
mybatis bean属性识别丢失【NoSuchPropertyException】
背景 发现线上报错日志 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression Cause: org.apache.ibatis.ognl.NoSuchPropertyException: 参考 https://github.com/mybatis/mybatis-…...
点云从入门到精通技术详解100篇-基于补全点云与图像像素级融合的障碍物识别
目录 前言 感知融合技术研究现状及问题 感知融合技术概述 特征级融合研究现状...
商品分类显示scroll-view布局实现
快捷键 view{菜单数据$}*40 回车后即可快速生成 <view class="cates"> <!-- 搜索开始 --><SearchBar></SearchBar> <!-- 搜索结束 --> <view class="cates_container"> <!-- 左侧菜单 开始 --> <scroll-vie…...
基本的SELECT语句——“MySQL数据库”
各位CSDN的uu们好呀,好久没有更新小雅兰的MySQL数据库专栏啦,接下来一段时间,小雅兰都会更新MySQL数据库的知识,下面,让我们进入今天的主题吧——基本的SELECT语句!!! SQL概述 SQL语…...
DedeCMS5.7远程文件包含漏洞分析
看一段php代码 <?php foreach(Array(_GET,_POST,_COOKIE) as $_request){foreach($$_request as $_k > $_v) ${$_k} $_v; }echo a:.$a;echo b:.$b;这段代码可以实现创建变量并赋值的操作,而且参数都是可控的。 如果之前已经有了相应参数,那就会…...
GpsAndMap模块开源,欢迎测评
背景 之前的文章有提到,最近在使用folium的过程中,深感对于一个非专业人员来说,GPS坐标以及其所隐含的GPS坐标系,以及不同GPS坐标系之间的相互转换关系,不是一个十分清晰的概念,往往造成在使用GPS坐标在fo…...
DHT11 温湿度传感器
目录 1.DHT11 温湿度传感器概述 2.检测DHT11温湿度传感器模块是否存在 3.通过编写代码读取温湿度数据编辑 4.将读取到的温湿度数据通过串口上传 1.DHT11 温湿度传感器概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域&am…...
告别I帧卡顿!用H.264帧内刷新(Intra Refresh)让你的直播码率稳如老狗
告别I帧卡顿!用H.264帧内刷新(Intra Refresh)让你的直播码率稳如老狗 直播技术发展到今天,画面流畅度已经成为用户体验的核心指标之一。但许多开发者在实际推流中常遇到一个棘手问题:明明网络带宽充足,却在…...
基于Node.js与Telegraf构建支持双历法的Telegram天气机器人
1. 项目概述:一个功能完备的Telegram天气机器人 最近在做一个需要集成天气信息的小项目,顺手就把之前写的一个Telegram天气机器人翻新重构了一遍。这个机器人不只是简单地查询温度,它融合了实时天气、24小时预报,并且特别加入了波…...
开源语言模型项目实践:从Transformer核心到训练调优全解析
1. 项目概述:一个开源语言模型的实践与探索最近在GitHub上看到一个名为“angeluriot/Language_model”的项目,点进去一看,是个挺有意思的语言模型实现。虽然项目标题很简单,但内容却涵盖了从数据处理、模型构建到训练推理的完整链…...
企业安全运维:轻量级OpenClaw检测脚本的设计、部署与MDM集成实战
1. 项目概述:为什么我们需要一个轻量级的OpenClaw检测脚本?在当今的企业IT环境中,开发工具和AI辅助编程代理的普及带来了前所未有的效率提升,但同时也引入了新的安全与合规盲区。想象一下,一个未经批准的开发工具&…...
从锂电池热失控到锡须短路:高可靠性系统安全工程实践
1. 从“工程恐怖故事”到系统安全文化的反思最近在整理资料时,翻到一篇十多年前的旧文,标题叫《工程恐怖:机毁人亡》。文章汇集了几位航空与国防领域工程师亲历的、令人脊背发凉的真实事故案例。这些故事没有出现在主流新闻的头条,…...
ComfyUI ControlNet Aux预处理器深度解析:从模型下载到性能优化全攻略
ComfyUI ControlNet Aux预处理器深度解析:从模型下载到性能优化全攻略 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux ComfyUI ControlNet Aux…...
寄生电感容易被忽略,却是电路不稳定的隐形元凶
调试电路板的时候,最让人抓狂的并不是那些明面上能查到文档的参数问题。示波器一抓波形,明明电源电压已经稳定,负载也没动,可偏偏就是有那种挥之不去的毛刺,幅度不大,频率不低,排查了半天才发现…...
如何零成本测试ZPL标签?Virtual ZPL Printer终极解决方案揭秘
如何零成本测试ZPL标签?Virtual ZPL Printer终极解决方案揭秘 【免费下载链接】Virtual-ZPL-Printer An ethernet based virtual Zebra Label Printer that can be used to test applications that produce bar code labels. 项目地址: https://gitcode.com/gh_mi…...
告别配置烦恼!Qt 5.14.2下QCustomPlot源码集成与QChart开箱即用全攻略
Qt 5.14.2图表库极简集成指南:QCustomPlot源码直连与QChart零配置实战 刚接手一个需要快速实现数据可视化的Qt项目时,开发者往往会在图表库的选择和集成上耗费大量时间。传统方案如Qwt需要繁琐的编译配置,而官方文档又常常默认读者已经熟悉Qt…...
3步解决Dell G15散热难题:TCC-G15开源散热控制工具完全指南
3步解决Dell G15散热难题:TCC-G15开源散热控制工具完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否正在为Dell G15笔记本的过热问题…...
