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