转自: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)= 可以写成 ==,两端也必须加空格,字符串(或变量的值)中如果没有空格可以把双引号去掉。