SHELL編程之條件判斷


一、if 語句結構

(1)單分支語句結構

if  條件測試操作

  then  命令序列

fi

1 #!/bin/bash
2 MOUNT_DIR="/media/cdrom/"
3 #-d $MOUNT_DIR的意思是測試是否存在這個目錄,顯然不存在,為假;!為取反,所以條件測試為真,執行then后面的語句
4 if [ ! -d $MOUNT_DIR ]       
5 then
6   mkdir -p $MOUNT_DIR
7 fi

(2)雙分支語句結構

if  條件測試操作

  then  命令序列1

  else   命令序列2

fi

 1 #!/bin/bash
 2 ping -c 3 -i 0.2 -W 3 $1 &> /dev/null     # -c指定發送幾次包,-i指定兩次ping包間隔時間(秒),-W指定如果ping不通,多久(秒)放棄ping測試,$1位置變量,接收用戶輸入的第一個值
 3 if [ $? -eq 0 ]                           # $? 上一條條件測試結果
 4 then                                      # 這里的then也可以和if寫為一行,如 if [ $? -eq 0 ] ; then
 5   echo "Host $1 is up."  
 6 else
 7   echo "Host $1 is down."
 8 fi
 9 結果:
10 [root@www ~]# . ping.sh 127.0.0.1
11 Host 192.168.1.1 is up.

(3)多分支語句結構

if     條件測試操作1

    then  命令序列1

elif   條件測試操作2

    then  命令序列2

else 

    命令序列3

fi

1 #!/bin/bash
2 read -p "請輸入您的分數(0-100):" GRADE               # 接收來自用戶輸入的分數,賦值給GRADE變量
3 if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ];then
4    echo "$GRADE分!優秀"
5 elif [ $GRADE -ge 70 ] && [ $GRADE -lt 85 ];then
6    echo "$GRADE分!良好"
7 else
8    echo "$GRADE分!還需繼續努力!"
9 fi

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM