Shell 中比较字符串

最近在写shell脚本时发现之前写的shell中的字符串比较方法有的地方没有生效,在一篇博客上找到了一个方法测试OK,现在记录如下:

参考https://www.cnblogs.com/helloweworld/p/3404086.html

#!/bin/sh

aa=
bb="hello"
cc="world"

#以下正确例子
# 1.注意判断中的字符串变量用双引号括起来(不括起来在多数情况下正确,某些情况下会出错);
# 2.字符串判断相等用一个等号,不是两个;!!!!
# 3.=两边有空格;
# 4.[的左右两边,]的左边有空格.
if [ "${aa}" = "${bb}" ]; then
    echo "yes"
else
    echo "no"
fi

##以下不正确例子
# aa为空,bb不为空,这时不括起来会报错.
if [ ${aa} = ${bb} ]; then
    echo "yes"
else
    echo "no"
fi

猜你喜欢

转载自blog.csdn.net/lanmengfenghe/article/details/103536230