linux bash中 test命令详解
test命令用于检查某个条件是否成立。它可以进行数值、字符和文件三方面的测试。
1、数值测试
-eq等于-ne不等于-gt大于-ge大于或等于-lt小于-le小于或等于
例如,我们可以测试两个变量是否相等:
num1=100
num2=200
if test $num1 -eq $num2
thenecho 'Two values are equal!'
elseecho 'Two values are not equal!'
fi
2、字符串测试
=等于!=不等于-z字符串长度是否为0,长度为0返回真-n字符串长度是否为0,长度不为0返回真
例如,我们可以测试两个字符串是否相同:
str1="hello"
str2="world"
if test str1 = str2
thenecho 'Two strings are the same!'
elseecho 'Two strings are different!'
fi
3、文件测试
-e文件是否存在-d是否存在并且是一个目录-f是否存在并且是一个文件-r文件是否存在并且可读-w文件是否存在并且可写-x文件是否存在并且可执行
例如,我们可以测试文件是否存在并且是一个目录:
dir_path="./my_dir"
if test -d $dir_path
thenecho 'The directory exists!'
elseecho 'The directory does not exist!'
fi
注意: [ 是 test 的简化版本,所以下面两种写法是等价的:
if test $a -eq $b if [ $a -eq $b ]
相关文章:
linux bash中 test命令详解
test命令用于检查某个条件是否成立。它可以进行数值、字符和文件三方面的测试。 1、数值测试 -eq 等于-ne 不等于-gt 大于-ge 大于或等于-lt 小于-le 小于或等于 例如,我们可以测试两个变量是否相等: num1100 num2200 if test $num1 -eq $num2 thene…...
获取当前时间并转换为想要的格式
转换为YYYY-MM-DD格式 function getCurrentDate() {var today new Date();var year today.getFullYear();var month today.getMonth() 1; // 月份从0开始,需要加1var day today.getDate();return year - (month < 10 ? (0 month) : month) - (day &…...
如何实现自动化测试?
一、首先我们要清楚自动化测试的分类 以实现方式可分为UI自动化和接口自动化。UI自动化可用selenium等工具实现,接口自动化可用使用RobotFramework和Jmeter等工具实现,Jmeter也可做性能自动化,压力测试。 二、平时自动化测试怎么做 1. UI和…...
c++中的对齐问题
c中的对齐问题 需要对齐的原因 尽管内存是以字节为单位,但是大部分处理器并不是按字节块来存取内存的.它一般会以双字节,四字节,8字节,16字节甚至32字节为单位来存取内存,我们将上述这些存取单位称为内存存取粒度. 现在考虑4字节存取粒度的处理器取in…...
力扣(LeetCode)算法_C++—— 存在重复元素
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums [1,2,3,1] 输出:true 示例 2: 输入:nums …...
OpenCV实现Photoshop曲线调整
《QT 插件化图像算法研究平台》有仿Photoshop曲线调整图像的功能,包括RGB曲线调整和HSV曲线调整。 Photoshop曲线调整原理:RGB、HSV各通道曲线,可以理解为一个值映射(值转换)函数。X轴是输入,Y轴是输出。x0…...
【探索Linux】—— 强大的命令行工具 P.8(进程优先级、环境变量)
阅读导航 前言一、进程优先级1. 优先级概念2. Linux查看系统进程3. PRI(Priority)和NI(Nice) 二、环境变量1. 概念2. 查看环境变量方法3. 环境变量的组织方式4.通过代码获取环境变量5. 环境变量的特点 总结温馨提示 前言 前面我们…...
蓝牙协议栈BLE
前言 这阵子用到蓝牙比较多,想写一个专栏专门讲解蓝牙协议及其应用,本篇是第一篇文章,讲解低功耗蓝牙和蓝牙协议栈。 参考网上各大神文章,及瑞萨的文章,参考GPT,并且加入了一些本人的理解。 图片部分源自…...
企业架构LNMP学习笔记17
反向代理: 反向代理服务器和真实访问的服务器是在一起的,有关联的。 根据实际业务需求,分发代理页面到不同的解释器。常见于代理后端服务器。 安装apache服务器: yum install -y httpd 修改配置文件: vim /et/http…...
php 获取每月开始结束时间,指定月份的开始结束时间戳
php 获取指定月份的开始结束时间戳。 /** * * 获取指定年月的开始和结束时间戳 * param int $year 年份 * param int $month 月份 * return array(开始时间,结束时间) */ function getMonthBeginAndEnd($year 0, $month 0) {$year $year ? $year : date(Y);$month $month…...
Docker技术入门| Part03:Dockerfile详解(Dockerfile概念、Dockerfile 指令、使用Dockerfile构建镜像)
文章目录 1. Dockerfile概念2. Dockerfile 指令FROM 指定基础镜像RUN执行命令CMD 容器启动命令COPY 复制文件ADD 更高级的复制文件ENV 设置环境变量ARG 构建参数VOLUME 定义匿名卷EXPOSE 暴露端口WORKDIR 指定工作目录USER 指定当前用户LABEL 为镜像添加元数据SHELL 指令 3. 使…...
分享一个有意思的线程相关的程序运行题
翻开之前的代码,发现了一个有意思的代码,猜以下代码的运行结果: package thread;/*** author heyunlin* version 1.0*/ public class ThreadMethodExample {public static void main(String[] args) {Thread thread new Thread(new Runnabl…...
集合的进阶学习
集合体系结构 Collection 单列集合 包含List Set List 包含ArrayList LinkedList Set包含HashSet TreeSet HashSet包含LinkedHashSet List系列集合:添加的元素是有序的、可重复、有索引 Set系列集合:添加的元素是无序的、不重复、无索引 Collectio…...
Java真过饱和了吗?现在学Java迟了?
Java行业内幕揭秘 我是某有名机构的线下课Java老师,负责Java热门框架教学,如Spring、Spring MVC、Spring Boot。但最近被解雇了,让我来吐槽一下。Java现在的学习人数真的太多太多了。 Java的学习饱和度 Java学习的人太多,给你一…...
glibc2.35-通过tls_dtor_list劫持exit执行流程
前言 glibc2.35删除了malloc_hook、free_hook以及realloc_hook,通过劫持这三个hook函数执行system已经不可行了。 传统堆漏洞利用是利用任意地址写改上上述几个hook从而执行system,在移除之后则需要找到同样只需要修改某个地址值并且能够造成程序流劫持…...
linux-OpenSSL升级
1.安装编译所需的安装包 yum install -y gcc make perl zlib-devel 2.从 OpenSSL 官网下载(https://www.openssl.org/source/openssl-1.1.1v.tar.gz) 注:如果原先版本为1.x.x,升级时还是需要选择1.x.x 3. 编译安装 # 解压tar -xvf openssl-1.1.1v.tar…...
Nginx全家桶配置详解
源码包安装NGINX A,搭建Web Server,任意HTML页面,其8080端口提供Web访问服务,截图成功访问http(s)://[Server1]:8080并且回显Web页面。保留Server1,但是不允许直接访问Server 1,再部署1套NGINX …...
CMake生成Visual Studio工程
CMake – 生成Visual Studio工程 C/C项目经常使用CMake构建工具。CMake 项目文件(例如 CMakeLists.txt)可以直接由 Visual Studio 使用。本文要说明的是如何将CMake项目转换到Visual Studio解决方案(.sln)或项目(.vcxproj) 开发环境 为了生成Visual S…...
数学建模--K-means聚类的Python实现
目录 1.算法流程简介 2.1.K-mean算法核心代码 2.2.K-mean算法效果展示 3.1.肘部法算法核心代码 3.2.肘部法算法效果展示 1.算法流程简介 #k-means聚类方法 """ k-means聚类算法流程: 1.K-mean均值聚类的方法就是先随机选择k个对象作为初始聚类中心. 2.这…...
防坠安全带上亚马逊美国站要求的合规标准是什么?
防坠安全带 防坠安全带是一种防护装备,适合工人在高空作业时或在可能发生跌落的无防护边缘行走时穿着。防坠安全带设计用于包裹身体躯干,并将坠落力至少分布到大腿上部、骨盆、胸部和肩部。防坠安全带是固定物体与非固定物体之间的连接物,通…...
无需编程!Qwen3-ASR语音识别服务5分钟快速部署指南
无需编程!Qwen3-ASR语音识别服务5分钟快速部署指南 1. 开篇:语音识别零门槛体验 想象一下,你刚结束一场跨国会议,需要将录音快速转为文字;或者你收集了大量方言访谈,急需整理成文档。传统方法要么费时费力…...
从《阵列天线分析与综合》到HFSS实战:手把手教你仿真4x1微带天线阵(含相位扫描设置)
从理论到实践:HFSS中4x1微带天线阵的建模与相位扫描全解析 微带天线阵列因其低剖面、易集成和成本优势,在现代通信系统中扮演着重要角色。对于刚接触天线设计的工程师和学生而言,如何将《阵列天线分析与综合》等经典教材中的理论概念转化为可…...
10分钟掌握全网资源下载神器:res-downloader从入门到精通
10分钟掌握全网资源下载神器:res-downloader从入门到精通 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否遇…...
Python智能内存管理策略深度评测(CPython 3.9–3.12全版本横评):谁真正降低了47.6% OOM风险?
第一章:Python智能内存管理策略深度评测总览Python 的内存管理并非由开发者手动控制,而是依托于一套高度集成的智能机制——包括引用计数、循环垃圾回收器(gc 模块)以及内存池(pymalloc)三层协同体系。这种…...
AI 搜索时代,GEO 为何成为企业数字化营销的新标配?
当生成式 AI 全面渗透搜索场景,用户获取信息的方式从 “主动检索筛选” 转向 “AI 精准回答推荐”,传统 SEO 的流量逻辑正在被彻底重构,GEO(AI 搜索生成引擎优化)已然成为企业营销的新赛道。在 AI 搜索成为用户信息获取…...
GLM-4.1V-9B-Base模型微调入门:使用accelerate库进行高效参数优化
GLM-4.1V-9B-Base模型微调入门:使用accelerate库进行高效参数优化 1. 引言 想为特定业务场景定制一个强大的多模态AI模型?GLM-4.1V-9B-Base作为支持图文理解与生成的大模型,通过微调可以快速适配各种下游任务。本文将带你从零开始ÿ…...
生成单颗10mm级配的cluster骨料
PFC5.0代码,可以破碎的cluster,可模拟碎石、矿渣混凝土材料,ball与cluster颗粒,单轴压缩实验,内涵声发射事件数代码,分析统计ball与ball直接的裂纹数目,cluster内部破碎的裂纹数目上周帮同门调P…...
计算机毕业设计:Python 汽车推荐系统实战 Django框架 可视化 协同过滤算法 数据分析 大数据 机器学习(建议收藏)✅
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
Hadoop 3.3.5 分布式集群部署
环境准备与规划硬件要求:3台节点(1主2从)软件依赖:JDK 8、SSH免密登录目录规范:统一安装路径(如/opt/module),用户权限管理Hadoop安装与核心配置一定要检查一下,ssh 能不…...
英飞凌TC3xx SMU模块实战:如何配置看门狗超时自动复位(附寄存器详解)
英飞凌TC3xx SMU模块实战:如何配置看门狗超时自动复位(附寄存器详解) 在汽车电子和工业控制领域,系统稳定性是生死攸关的指标。想象一下,当你的ECU在高速公路上以120km/h运行时突然死机,或者工业机器人正在…...
