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

 

发布了14 篇原创文章 · 获赞 4 · 访问量 6613
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章