shell 腳本編程之邏輯運算符

邏輯運算符

和大多數語言一樣,shell 的邏輯運算符有與或非三種,不同的是 shell 有兩套邏輯運算符。
第一套,測試內作邏輯運算

邏輯運算符 說明
[ ! expression ] 邏輯非
[ expression1 -a expression2 ] 邏輯與
[ expression1 -o expression2 ] 邏輯或

第二套,測試外作邏輯運算

邏輯運算符 說明
! [ expression ] 邏輯非
[ expression1 ] && [ expression2 ] 邏輯與
[ expression1 ] || [ expression2 ] 邏輯或

邏輯運算是短路運算;支持多個邏輯運算符組合。

#learn_logic_operator.sh
#!/bin/bash
a=10
b=20
c=0
if [ $b -gt $a -a $b -gt $c ]; then
    echo b is largest number
fi
if [ $c -lt $a ] && [ $c -lt $b ]; then
    echo c is less number
fi
if [ $c -eq 0 ]; then
    echo    c is zero
fi
if [ ! $a -eq 0 ]; then
    echo a is not zero
fi
if ! [ $b -eq 0 ]; then
    echo b is not zero
fi

執行結果

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