shell5

embedded/2024/12/20 14:19:10/

字符串运算符

首先我们在终端利用vim打开u.sh
str1="hello"
str2="hello"
if [ "$str1" = "$str2" ]; thenecho True
elseecho false
fi
我们把hello改为Hello,看一下大小写是否敏感
str1="Hello"
str2="hello"
if [ "$str1" = "$str2" ]; thenecho True
elseecho false
fi

[外链图片转存中...(img-gNsScOqL-1734621120041)]

我们改为!=呢
str1="Hello"
str2="hello"
if [ "$str1" != "$str2" ]; thenecho True
elseecho false
fi

在这里插入图片描述

改为-z

-z检查字符串长度是否为0,返回true就是为0,返回false就是不为0

str1="Hello"
str2="hello"
if [ -z "$str1" ]; thenecho True
elseecho false
fi

在这里插入图片描述

改为- n

与-z相反

str1="Hello"
str2="hello"
if [ -n "$str1" ]; thenecho True
elseecho false
fi

[外链图片转存中...(img-gI1rbk8I-1734621120042)]

当没有参数时,且变量不存在,不存在的变量值肯定为空,为空返回false不为空返回true

str1="Hello"
str2="hello"
if [ "$str11" ]; thenecho True
elseecho false
fi

[外链图片转存中...(img-JtziSMEn-1734621120042)]

逻辑运算符之bool运算符
num1=9
if [ "&num1" != "9" ]; thenecho num1不等于9
elseecho num1等于9
fi

[外链图片转存中...(img-RZkHLA88-1734621120042)]

余运算
num1=9
num2=19
if [ "$num1" != "9" -a "$num2" -lt "20" ]thenecho true
elseecho false
fi

n u m 1 " ! = " 9 " 检查 n u m 1 是否不等于字符串 " 9 " 。 − a 是逻辑运算符“与”( A N D )在旧式 P O S I X s h e l l 中的用法 , ‘ − o ‘ 是逻辑运算符“或”( O R )的符号。 " num1" != "9" 检查num1是否不等于字符串 "9"。 -a 是逻辑运算符“与”(AND)在旧式 POSIX shell 中的用法,`-o` 是逻辑运算符“或”(OR)的符号。 " num1"!="9"检查num1是否不等于字符串"9"a是逻辑运算符AND)在旧式POSIXshell中的用法,o是逻辑运算符OR)的符号。"num2” -lt “20” 检查num2是否小于数值 20。
[外链图片转存中...(img-phbxXy34-1734621120042)]


http://www.ppmy.cn/embedded/147300.html

相关文章

CSS padding(填充)

CSS padding(填充) 概述 CSS(层叠样式表)中的padding属性用于设置元素的内边距,即元素内容与边框之间的空间。这个属性对于控制页面布局和元素间距至关重要。本文将详细介绍padding属性的使用方法、值、单位以及如何…

第六章:反射+设计模式

一、反射 1. 反射 (Reflection) :允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属 性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。 2. 类对象 和 类的…

[一招过] Python的正则表达式篇

Python 正则表达式(re模块) 正则表达式(regular expression)是用于匹配字符串的一种强大工具。Python 提供了 re 模块来处理正则表达式。通过正则表达式,可以快速匹配、查找、替换、分割字符串等。 1. re 模块基础 …

Selenium之execute_script()方法执行js脚本

目录 场景应用和使用 页面滚动 获取返回值 返回JavaScript定位的元素对象 修改元素属性 弹出提示框 场景应用和使用 在自动化测试中,部分场景无法使用自动化Selenium原生方法来进行测试: 滚动到某个元素(位置) 修改…

【C语言】库函数常见的陷阱与缺陷(一):字符串处理函数[2]--gets函数

C语言中的gets函数是一个用于从标准输入(通常是键盘)读取一行字符串的函数。然而,gets函数存在多个陷阱与缺陷,这些缺陷可能导致程序崩溃、安全漏洞或未定义行为。 一、gets功能与用法 gets函数的主要作用是从标准输入(通常是键盘)读取一行字符串,并将其存储在指定的缓…

AIGC:图像风格迁移技术实现猜想

定义以下函数: f(image) -> (style, content) g(style, content) -> image 函数f将图片(image)分解成风格(style)和内容(content)两部分 函数g将风格(style)和内容…

写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”

背景 使用Doris创建hive catalog后,想在hive上的库中创建一个表,报如下图片错误 解决办法 hdfs dfs -ls /看到如下图片所示,只有root用户有写的权限 所以通过export HADOOP_USER_NAMEroot将hadoop的用户名改成root,然后再hdfs…

鸿蒙Next状态管理优秀实践

在鸿蒙Next应用开发中,高效的状态管理对于提升应用性能至关重要。本文将介绍一些状态管理的优秀实践,帮助开发者避免常见的低效开发场景,提升应用质量。 一、使用ObjectLink代替Prop减少不必要的深拷贝 问题描述 在父子组件数值传递中&…