shell条件语句

news/2024/9/22 11:35:31

一、测试

文件测试test

test的语法
test 条件表达式
[ 条件表达式 ] test 选项 文件
-d :判断是否是目录(Directory)
-f :判断是否是普通文件(File)
-b :判断是否是块设备(block)
-c :判断是否是字符设备
-e :判断是否存在  (Exist)
-a :判断是否存在  
-r :判断是否有读的权限(Read)
-w :判断是否有写的权限(write)
-x :判断是否有执行的权限(excute)
-L: 测试是否为软连接文件

test表示

 中括号表示

 整数比较[]

[ 整数1 -操作符 整数2 ] 公式
-eq :表示等于
-ne :表示不等于
-gt :表示大于
-ge :表示大于等于
-lt :表示小于
-le :表示小于等于

 判断磁盘空间是否充足

 字符串比较

= : 表示字符串相同
!= :表示字符串内容不相同
-z :表示字符串内容为空
-n :表示字符串存在
语法格式:
[ 字符串1 = 字符串2 ] ##判断两个字符串是否相同
[ 字符串1 != 字符串2 ] ##判断两个字符串是否不相同
[ -z 字符串 ] ##判断字符串是否为空或是否存在,(存在且空也为不存在)

逻辑测试(短路运算)

短路运算
与:&&(相当于电路串联)
格式1:[判断1] && [判断2] 
格式2:命令1 && 命令2 
##表示需要命令1和命令2都为真,才为真,真的意思是$?为0##执行逻辑:如果命令1为真,继续执行命令2,如果命令1为假,没必要执行命令2或:|| (相当于电路并联)
格式1:[判断1] || [判断2] 
格式2:命令1 || 命令2 
##表示需要命令1和命令2其中一个为真,就为真,真的意思是$?为0##执行逻辑:如果命令1为真,没必要执行命令2;如果命令1为假,执行命令2

[判断1] && [判断2]  || [判断3]的格式等于if,基本用if替代 

双中括号(支持正则表达式和通配符)

[[ expression ]] 用法
== 左侧字符串是否和右侧的PATTERN相同注意:此表达式用于[[ ]]中,PATTERN为通配符=~ 左侧字符串是否能够被右侧的正则表达式的PATTERN所匹配注意: 此表达式用于[[  ]]中;扩展的正则表达式

小括号和花括号的区别

(CMD1;CMD2;...)和 { CMD1;CMD2;...; } 都可以将多个命令组合在一起,批量执行。

总结:
小括号类似于bash,在子bash中运行,不影响当前bash环境变量;
花括号类似于source,在当前的bash环境运行,会影响当前bash的环境变量的值;且需要以分号结尾

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31447.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

发掘 Chrome 的实用命令:提升你的浏览器使用体验

前言 在日常使用浏览器时,大多数人只是简单地浏览网页、搜索信息或者查看邮件。但是,其实 Chrome 浏览器有许多隐藏的功能和命令,可以帮助用户更高效地使用浏览器,提升工作和生活的效率。本文将介绍一些实用的 Chrome 命令,让你的浏览器技能更上一层楼。查看所有命令chrom…

干电池升压芯片PW5100:高效转换,赋能小型设备

内容简述目录:1,干电池的工作电压范围2,平芯微根据干电池规格书整理的干电池输出电流性能表3,干电池负载能力的理解和解释4,专用干电池升压芯片 PW51005,干电池升压芯片采用 0603,0805,1206 电感和输出电流测试6,干电池升压芯片真关断控制版本 PW51037,电荷泵升压 IC 和…

Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界

前言 我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright 中也有类似的方法,使用page.evaluate()执行JavaScript脚本。 page.evaluate()和page.evaluate_ha…

互联网发展对计算机及其应用的影响

先来说一个问题,就是zookeeper leader选举问题直接说结论,通过逻辑时钟(zxid)来保证事件发生的因果关系,因果最新的节点优先被选为主,其他小弟跟着同步,如果大家因果相同那就用server id决断作为兜底方案。解释下什么逻辑上时钟?通过数值来记录事件的因果关系,比如a去…

第十一周实验

Pixso特点实时协作——让所有人聚焦同一个目标 当面对一个复杂的设计项目时,通过链接邀请团队成员,进行多人云端协作设计,实时同步字号、边框、颜色等各种细节。 智能UI设计工具——快速上手专业技能 传统产品,往往要多个工具协作才能预期效果。而Pixso自带组件变体、自动布…

m5stack

m5stack cardcomputer+m5stack c3 首先,感谢得捷社区,本次参与奖我选取的是m5stack cardcomputer+m5stack c3,m5stack被乐鑫已经收购了,他们的产品我觉得精致小巧,正好m5stack cardcomputer他拥有usb有线连接和蓝牙连接的键盘功能,对于开发板的一些输入指令什么可以就使用…

性能测试工具--如何有效度量前端性能

转自:https://testerhome.com/topics/35529 目标:从用户角度明确前端 Web、H5 性能测试需要重点关注的内容; 根据关注内容明确性能测试过程中的性能评判指标和建议的阈值范围; 整理性能测试过程中各性能评价指标的收集方法; 明确性能测试完毕后的测试结果展现形式; 本文来…

基于MATLAB手搓人工神经网络

神经网络 基本概念 ​ 神经网络,模拟生物神经网络,节点称为神经元。神经网络分层命名,直接接收输入数据的是输入层,输出结果的是输出层,输入层与输出层之间的是隐藏层。 ​ 前向传播:数据从输入层开始,逐层向前传播计算,直到输出层得到输出结果。 ​ 反向传播:将输出层…