当前位置: 首页 > article >正文

泷羽sec-shell(5)字符串运算符和逻辑运算符 学习笔记

 声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频)

本章课程链接:shell(5)字符串运算符和逻辑运算符_哔哩哔哩_bilibili


字符串运算符
定义与用途
字符串运算符用于对字符串进行操作,比如比较两个字符串是否相等、判断一个字符串是否为空等。这些运算符在 Shell 脚本编写中非常有用,特别是在处理文本文件、用户输入以及配置文件等场景下。
常见的字符串运算符

等于(==):和不等(!=)
等于(==):用于判断两个字符串是否完全相同
不等(!=) :用于判断两个字符串是否不同。
大于(>)和小于(<) :在字符串比较中,按照字典序(字符编码顺序)来判断大小。
-z:(字符串长度为零)
-z:用于检查一个字符串是否为空(长度为 0)。
-n:(字符串长度不为零)
-n:与-z相反,用于检查一个字符串是否非空。

创建14.sh

str1="hello"

str2="hello"

if [ "$str1" = "$str2" ]; then

        echo True

else

        echo False

fi

而将对比字符的字母换成大写后

得到了不同的结果

将脚本中的=改为!=试试(不等于)

然后会自动变成≠

运行,因为对比中一个是大写另一个是小写,对比不相同所以返回为真

-z:检查字符串长度是否为0

同理,-n 检查字符串长度是否不为0

布尔运算符

布尔运算符主要用于操作布尔值(真或假),在 Shell 脚本中帮助构建复杂的条件判断。它们允许将多个条件组合在一起,以确定是否执行特定的代码块。布尔运算符就像是逻辑连接词,使脚本能够根据多种情况的组合做出决策。

常见的布尔运算符及用法

逻辑与(&&)
运算规则:只有当 && 两边的条件都为真时,整个表达式才为真。如果左边的条件为假,就不会再检查右边的条件,因为只要有一个为假,整个 “与” 运算结果就为假。这被称为短路特性。

逻辑或(||)
运算规则:只要 || 两边的条件中有一个为真,整个表达式就为真。如果左边的条件为真,就不会检查右边的条件,因为只要有一个为真,整个 “或” 运算结果就为真,这也是短路特性。

逻辑非(!)
运算规则:用于对一个布尔值进行取反操作。如果原始条件为真,加上 “!” 后就变为假;如果原始条件为假,加上 “!” 后就变为真。

num1=9

# num2=19 

if [ "$num1" !=  "9" ]; then

        echo num1 不等于9

else

        echo num1 等于9

fi

余运算

num1=9

num2=19

if [ "$num1" != 9  -o  "$num2" -lt 20 ]; then

      echo true

else

      echo  False

fi

————————————未完————————————


http://www.kler.cn/a/419129.html

相关文章:

  • 07.ES11 08.ES12
  • go-学习
  • 【力扣】541.反转字符串2
  • 基于DHCP,ACL的通信
  • 【Android】EventBus的使用及源码分析
  • Deeplearning4j (DL4J)介绍
  • 编程基础篇
  • 英语写作中以rationale 替代reason(理由)
  • node.js基础学习-querystring模块-查询字符串处理(三)
  • 二分搜索(二)搜索插入位置
  • javascript切换类、删除类、修改类以及增加类
  • 低代码与微服务融合在医疗集团中的补充应用探究
  • 计算机网络--网络安全测试
  • 【关闭or开启电脑自带的数字键盘】
  • 第1章-JVM和Java体系架构
  • 【QNX+Android虚拟化方案】127 - QNX侧 uart 读写程序分析
  • MySQL中的count函数
  • 大模型开发和微调工具Llama-Factory-->量化2(AQLM和OFTQ)
  • Ubuntu在NVME硬盘使用Systemback安装记录
  • Design Linear Filters in the Frequency Domain (MATLAB帮助文档)
  • Python json 序列化
  • mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
  • Linux —— 《线程控制》
  • nmap基本用法
  • 【小白学机器学习39】如何用numpy生成总体,生成样本samples
  • 【RISC-V CPU debug 专栏 2.3 -- Run Control】