shell脚本之if条件测试语句

Posted wx6102046ba7f02

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之if条件测试语句相关的知识,希望对你有一定的参考价值。

if条件测试语句可以让脚本根据实际情况自动执行相应的命令。从技术角度来讲,if语句可分为单分支结构、双分支结构、多分支结构。

单分支结构由if、then、fi关键词组成,只有条件成立后才执行预设的命令,相当于口语“如果……那么……。”

\'shell脚本之if条件测试语句_shell脚本

下面使用单分支的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 条件语句的多分支结构是工作中最常使用的一种条件 判断结构,尽管相对复杂但是更加灵活,如:

[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

\'shell脚本之if条件测试语句_shell脚本



以上是关于shell脚本之if条件测试语句的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本之条件语句

Shell脚本之if条件语句

shell脚本之条件语句 与 if 语句

shell脚本之if使用语句进行条件测试

Shell脚本之——条件语句if详解

Shell脚本条件测试if语句case语句!