Shell字符串比較

# 字符串比較
A="A"
B="B"
a="A"

# 單[]能夠表示表示字符串是否相等
# "="和"=="等價
if [ $A == $a ]; then
    echo "[ $A == $a ] -> True"
fi

if [ $A != $B ]; then
    echo "[ $A != $B ] -> True"
fi

# 單[]比較字符串大小,須要再">"或"<"符號前加轉義符"\",不然比較失敗
if [ $A \< $B ]; then
    echo "[ $A \< $B ] -> True"
fi
# 不加轉義符"\"比較"A"和"B",結果"A">"B"爲True,說明比較失敗
if [ $A > $B ]; then
    echo "[ $A > $B ] -> True(Compare Failed)"
fi


# 能夠用雙[[]]來比較字符串大小及是否相等
# 和[]同樣能夠使用"=", "==", "!=", ">", "<"
if [[ $A < $B ]]; then
    echo "[[ $A < $B ]] -> True"
fi

# 不能直接使用比較符號">=", "<="(語法錯誤)
# 能夠經過"||"鏈接">"和"="來實現">="的比較,"<="亦然
# 單[]只能在[]外用"||"相連
if [ $A \< $a ] || [ $A = $a ]; then
    echo "[ $A \< $a ] || [ $A = $a ] -> True"
fi

#雙[[]]能夠在[[]]內相連,也能夠再[[]]外相連
if [[ $A < $a || $A = $a ]]; then
    echo "[[ $A < $a || $A = $a ]] -> True"
fi
相關文章
相關標籤/搜索