shell编程之字符串测试

字符串比较主要有等于,不等于,大于,小于和是否为空等测试。字符串测试符如下所示:

字符串测试说明
-z “string”字符串string为空时返回真,否则为假
-n “string”字符串string非空时返回真,否则为假
“string1” = “string2”字符串string1和string2相同时返回真,否则为假
“string1” != “string2”字符串string1和string2不相同时返回真,否则为假
“string1” > “string2”按照字典排序,字符串string1排在string2之前返回真,否则为假
“string1” < “string2”按照字典排序,字符串string1排在string2之后返回真,否则为假

用例1:测试str是否为空

[root@node1 ~]# str=""
[root@node1 ~]# test -z "$str"
[root@node1 ~]# echo $?
0
[root@node1 ~]# test -n "$str"
[root@node1 ~]# echo $?
1

用例2:比较str1和str2是否相同

[root@node1 ~]# str1=""
[root@node1 ~]# str2="hello"
[root@node1 ~]# [ "$str1" = "$str2" ]
[root@node1 ~]# echo $?
1
[root@node1 ~]# [ "$str1" != "$str2" ]
[root@node1 ~]# echo $?
0

用例2:比较str1和str2的大小,注意>和<号需要转义

[root@node1 ~]# str1="abc"
[root@node1 ~]# str2="hello"
[root@node1 ~]# [ "$str1" < "$str2" ]
-bash: hello: No such file or directory
[root@node1 ~]# [ "$str1" \< "$str2" ]
[root@node1 ~]# echo $?
0
[root@node1 ~]# [ "$str1" \> "$str2" ]
[root@node1 ~]# echo $?
1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远不要矫情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值