-gt 表示大於
-lt 表示小於
-ge 表示大於等於
-le 表示小於等於
-eq 表示等於
-ne 表示不等於
語法:
格式1:if 條件 ; then 語句; fi #如果滿足條件,然後怎麼樣。
例如:
a=5
if [ $a -gt 3 ] ; then echo ok; fi
寫出腳本就是:
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
echo ok
fi
格式2:if 條件; then 語句; else 語句; fi #如果滿足條件,怎麼樣,不滿足,又怎麼樣。
#!/bin/bash
a=5 #a=5
if [ $a -gt 3 ] #如果a大於3
then #那麼
echo ok #顯示ok
else #否則
echo nook #顯示nook
fi
格式3:if …; then … ;elif …; then …; else …; fi #如果滿足匹配條件,則顯示什麼,且滿足了第二個條件,顯示什麼,否則,顯示什麼
#!/bin/bash
a=5 #a=5
if [ $a -gt 1 ] #如果a大於1
then #那麼
echo ">1" #顯示ok
elif [ $ a -lt 6] #在滿足之前的條件之上,然後a又小於6
then #那麼
echo "<6 && >1" #顯示<6 && >1 &&表示並且。
else #如果兩個條件都不滿足,那就匹配除這兩個條件之外,其他的條件了
echo nook #顯示nook
fi
邏輯判斷表達式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到處都是空格
可以使用 && || 結合多個條件
if [ $a -gt 5 ] && [ $a -lt 10 ]; then #當a大於5並且小於10的時候
if [ $b -gt 5 ] || [ $b -lt 3 ]; then #當a大於5或者小於3的時候
#如果a大於1,那麼echo ok,這樣太繁瑣