Linux 中shell 腳本if判斷多個條件

格式如下,在比較時,數字和字符串用不同的比較符號

  1. 如果a>b且a<c
    if (( a > b )) && (( a < c ))
    或者
    if [[ $a > $b ]] && [[ $a < $c ]]
    或者
    if [ $a -gt $b -a $a -lt $c ]
    2.如果a>b或a<c
    if (( a > b )) || (( a < c ))
    或者
    if [[ $a > $b ]] || [[ $a < $c ]]
    或者
    if [ $a -gt $b -o $a -lt $c ]
    3. -o = or , -a = and , 但我一向只用 || 或者 &&
    4."||“和”&&"在SHELL裏可以用嗎?也就是第一個寫成if [ a>b && a<c ]也可以嗎?
    可用, 但是要兩個獨立的 [ ] , [[ ]] 或 (( )) 看 1
    5 -ne 比較數字 (numberic) ; != 比較字符 (string), 但後者拿來
    比較數字也可,只是不是標準用法
    -lt 是等同 < , 但 < 只能在 shell 的數值操作符 (( )) 或
    者 邏緝操作符 [[ ]] 纔可使用, -lt , -eq , -gt , -ge
    -le , 這些是 test , 就是 [ ] 這個內建命令使用的條件操
    作符, 數字用, = , != 字符用, == 這個該是 [[ ]] 用的,
    可用來比對正規表示式, 但用在 [ ] 也可,只是不太正統用法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章