每天三分钟搞定linux shell脚本10 字符串相关的if判断

每天三分钟搞定linux shell脚本10 字符串相关的if判断字符串比较包括 字符串是否相等 str1 str2 字符串是否不等 str1

大家好,欢迎来到IT知识分享网。

每天三分钟搞定linux shell脚本10 字符串相关的if判断

字符串比较包括

  • 字符串是否相等 :str1 = str2
  • 字符串是否不等:str1 != str2
  • 字符串大小,也就是字典顺序,越靠后越大:str1 > str2或者str1 < str2
  • 字符串长度是否为0 :-z str
  • 字符串长度是否非0:-n str

注意:这里的符号要转义,否则变成了重定向了。

字符串比较相等:

#/bin/bash

name=wulinwaizhuan

name2=$name

if [ $name = $name2 ];then

echo “$name and $name2 is equal”

else

echo “$name and $name2 is not equal”

fi

运行结果:

wulinwaizhuan and wulinwaizhuan is equal

注意:上面的等号左右两侧中括号内侧一定要有空格

比较字典序

#/bin/bash

var1=”wulinwaizhuan”

var2=”Wulinwaizhuan”

if [ $var1 \< $var2 ];then

echo “$var1 is less than $var2”

else

echo “$var2 is less than $var1”

fi

运行结果:

Wulinwaizhuan is less than wulinwaizhuan

以上的例子,说明小写字母排在字典的后面(类似于ascii的大小)。

sort 可以对字符串排序,sort 命令会把小写字母放在前面

字符串是否为空

#/bin/bash

var1=”wulinwaizhuan”

var2=””

if [ -n $var1 ];then

echo “$var1 is not empty”

fi

if [ -z $var2 ];then

echo ‘var is empty’

fi

运行结果:

wulinwaizhuan is not empty

var is empty

注意上面的中括号内侧一定要有空格。

注意:有时候想在字符串比较的时候使用正则表达式,可以使用双方括号,如:

#/bin/bash

name=wulin345

if [[ $name == wulin[1-5]* ]];then

echo “OK”

fi

运行如下:

OK

注意:上面的双等号左右两侧,中括号内侧一定要有空格

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/46017.html

(0)
上一篇 2026-04-07 12:11
下一篇 2025-05-16 19:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信