大家好,欢迎来到IT知识分享网。
字符串比较包括
- 字符串是否相等 :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