最近在寫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