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
還可以!
沒有留言:
張貼留言