您的位置:首页 > 运维架构 > Shell

Linux Shell脚本中字符串比较表达式问题

2012-10-25 21:41 253 查看
转自:http://blog.163.com/wang_ly2442/blog/static/94943407201292592314725/

Shell脚本中字符串比较操作符常用的有:

=:比较两个字符串是否相同,相同则结果为0,否则为1;

!=:比较两个字符串是否相同,不同则结果为0;否则为1。

此操作符可用在test表达式中,也可用在条件判断语句中:

1. test表达式中

[root@qq ~]# str1=abcd

[root@qq ~]# test $str1 = abcd

[root@qq ~]# echo $?

0

[root@qq ~]# test $str1 = eabcd

[root@qq ~]# echo $?

1

2. if条件判断语句中

脚本程序如下:

str1=abc

if [ "$str1" != "abc" ]

then

echo "branch1"

else

echo "branch2"

fi

执行后输出branch2

注意:

1)str1 变量在赋值时,=左右不能加空格。但在test和if表达式中,$str1 和 = 之间以及 = 和 abcd 之间一定要加空格,否则查看结果全为0。“!=”操作符也一样。

2)= 可以写成 ==,两端也必须加空格,字符串(或变量的值)中如果没有空格可以把双引号去掉。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: