shell5

发布于:2024-12-20 ⋅ 阅读:(11) ⋅ 点赞:(0)

字符串运算符

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

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

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

在这里插入图片描述

改为-z

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

str1="Hello"
str2="hello"
if [ -z "$str1" ]; then
	echo True
else
	echo false
fi

在这里插入图片描述

改为- n

与-z相反

str1="Hello"
str2="hello"
if [ -n "$str1" ]; then
	echo True
else
	echo false
fi

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

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

str1="Hello"
str2="hello"
if [ "$str11" ]; then
	echo True
else
	echo false
fi

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

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

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

余运算
num1=9
num2=19
if [ "$num1" != "9" -a "$num2" -lt "20" ]then
	echo true
else
	echo 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)]