11. if 条件测试语句(2)

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

1.单分支

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

        使用双分支的if条件语句来验证某台主机是否在线,然后根据返回值的结果

        使用ping命令来测试与对方 主机的网络连通性,

        需要通过-c 参数来规定尝试的次数,

        并使用-i 参数定义每个数据 包的发送间隔,

        以及使用-W参数定义等待超时时间。

[root@localhost ~]# cat test.sh
#!/bin/bash
#测试主机是否在线
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
        echo "host $1 is 在线"
else
        echo "host $1 is不在线"
fi
[root@localhost ~]# bash test.sh 192.168.172.146
host 192.168.172.146 is 在线

2.多分支

        if 条件语句的多分支结构由if、then、else、elif、fi关键词组成,它进行多次条件匹配判 断,这多次判断中的任何一项在匹配成功后都会执行相应的预设命令,相当于口语的“如 果……那么……如果……那么……”。

3.read 

        read 是用来读取用户输入信息的命令, 能够把接收到的用户输入信息赋值给后面的指定变量,-p参数用于向用户显示一些提示信息。 (类似于scanf函数)

        当用户输入的分数大于等于85分且小于等于100分时,才输 出优秀字样;若分数不满足该条件(即匹配不成功),则继续判断分数是否大于等于70 分且小于等于84 分,如果是,则输出通过 字样;若两次都落空(即两次的匹配操作都失败 了),则输出错误字样:

[root@localhost ~]# cat sorce.sh
#!/bin/bash
read -p " 输入你的成绩(0-100): " GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ];then
        echo " 优秀 "
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ];then
        echo " 及格通过 "
else
        echo " 输入错误 "
fi


[root@localhost ~]# bash sorce.sh
 输入你的成绩(0-100): 88
 优秀
[root@localhost ~]# bash sorce.sh
 输入你的成绩(0-100): 80
 及格通过
[root@localhost ~]# bash sorce.sh
 输入你的成绩(0-100): 30
 输入错误
[root@localhost ~]# bash sorce.sh
 输入你的成绩(0-100): 200
 输入错误
[root@localhost ~]#

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trick♂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值