shell脚本之if条件测试语句

提兵百万西湖上,立马吴山第一峰!这篇文章主要讲述shell脚本之if条件测试语句相关的知识,希望能为你提供帮助。
if条件测试语句可以让脚本根据实际情况自动执行相应的命令。从技术角度来讲,if语句可分为单分支结构、双分支结构、多分支结构。
单分支结构由if、then、fi关键词组成,只有条件成立后才执行预设的命令,相当于口语“如果……那么……。”

下面使用单分支的if条件语句来判断/media/cdrom目录是否存在,若不存在,则创建这个目录,反之则结束条件判断和整个shell脚本的执行。
[root@linuxprobe~]# vim mkcdrom.sh
#!/bin/bash
DIR="/media/cdrom"
if [ ! -d $DIR ]
then
mkdir -p $DIR
fi
if 条件语句的双分支结构由 if、then、else、fi 关键词组成,它进行一次条件匹配判断,如果与条件匹配,则去执行相应的预设命令;反之则去执行不匹配时的预设命令,相当于口 语的“如果……那么……或者……那么……”。if 条件语句的双分支结构也是一种很简单的判断结构。如下:
[root@linuxprobe~]# vim chkhost.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 & > /dev/null
if [ $? -eq 0 ]
then
echo "Host $1 is On-line."
else
echo "Host $1 is Off-line."
fi
if 条件语句的多分支结构由 if、then、else、elif、fi 关键词组成,它进行多次条件匹配判断,这多次判断中的任何一项在匹配成功后都会执行相应的预设命令,相当于口语的“如 果……那么……如果……那么……”。if 条件语句的多分支结构是工作中最常使用的一种条件 判断结构,尽管相对复杂但是更加灵活,如:
【shell脚本之if条件测试语句】[root@linuxprobe~]# vim chkscore.sh
#!/bin/bash
read -p "Enter your score(0-100):" GRADE
147
if [ $GRADE -ge 85 ] & & [ $GRADE -le 100 ] ; then
echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] & & [ $GRADE -le 84 ] ; then
echo "$GRADE is Pass"
else
echo "$GRADE is Fail"
fi
[root@linuxprobe~]# bash chkscore.sh
Enter your score(0-100):88
88 is Excellent
[root@linuxprobe~]# bash chkscore.sh
Enter your score(0-100):80
80 is Pass






    推荐阅读