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
相关文章
相关标签/搜索