一、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