shell中字符串比較和模糊比較說明

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、被比較的字符串,可以加雙引號,也可以不加,當字符串爲空也不會報錯,但是爲了統一規範,防止遺漏,因此,推薦還是加入雙引號。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章