2019年4月16日 星期二

【LINUX】IF判斷式

IF條件判斷句
if (表達式) ;then
   語句1
else
   語句2
fi

常用的判斷內容說明


-r file     確認使用者有 read 權限 (r--)
-w file     確認使用者有 write 權限 (-w-)
-x file     確認使用者有 execute 權限 (--x)
-f file     確認檔案存在
-d file     確認目錄存在
-s file     確認檔案大小不為0

if [ 1 -eq 9 ]
-eq    比較1和9是否【相等】----------數字標記意思1=9是或否
-ne    比較1和9是否【不相等】--------數字標記意思1≠9是或否
-lt    確認1是否小於9------------數字標記意思1<9是或否
-le    確認1是否小於等於9--------數字標記意思1<=9是或否
-gt    確認1是否大於9------------數字標記意思1>9是或否
-ge    確認1是否大於等於9--------數字標記意思1>=9是或否


範例1 :數字判斷(( 雙刮號用於比較)):vi if.sh
#!/bin/sh
NUM1=200
NUM2=400

if  (( $NUM1 > $NUM2 )) ; then
         echo "this $NUM1 greater $NUM2"
else
         echo "this $NUM2 greater $NUM1"
fi
說明:如果NUM1大於NUM2 是的話顯示語句1,不是的話顯示語句2
執行
[root@rosalie shell]# sh if.sh
this 400 greater 200

範例2 :判斷文件或資料夾存不存在
#!/bin/sh

if  [ ! -d /data/20190416 ]; then
         mkdir -p /data/20190416
         echo "建立/data/20190416目錄"
else
         echo "這個目錄已存在"
fi
說明:判斷如果目錄不在則創建目錄並顯示,如果存在顯示已存在
!為反義的意思
執行
[root@rosalie shell]# sh if.sh 
建立/data/20190416目錄

範例3 :多條件判斷
#!/bin/sh
scores=80
if  [[ $scores -gt 85 ]]; then
        echo "很棒!"
elif   [[ $scores -gt 70 ]]; then
        echo "還可以!"
elif   [[ $scores -gt 60 ]]; then
        echo "及格"
else
        echo "不及格!"
fi
說明:判斷分數如果大於85、如果大於70、如果大於60三個判斷,會順序判斷下來,若一直未符合就會執行else(否則)
執行
[root@rosalie shell]# sh if1.sh
還可以!



沒有留言:

張貼留言