shell字符串比較說明
1 完全比較方法(完全匹配)
if [ "$soure" == "$dest" ]; then
echo "is =="
else
echo "is !="
fi
if語句中的==判斷字符串是否相等:
1、使用完全匹配方式;
2、兩邊的雙引號都是可有可無的,但當字符串爲空的時候就會報錯,提示unary operator expected,因此,需要加入雙引號;
3、也可以使用=號,但==更合適一些,防止誤解,避免誤認爲是在進行賦值操作。
2 模糊比較方法(正則表達式)
if [[ "$soure" == dest* ]]; then
echo "is =="
else
echo "is !="
fi
當if語句中的單中括號[]變成雙中括號[[]]時,支持模糊匹配,此時:
1、模糊匹配規則不能添加雙引號,否則無效,會被當做普通字符串進行比較。
2、被比較的字符串,可以加雙引號,也可以不加,當字符串爲空也不會報錯,但是爲了統一規範,防止遺漏,因此,推薦還是加入雙引號。