【Shell】【学习笔记】Linux Shell脚本应用(七)

来源:互联网 发布:ali个人域名怎么转企业 编辑:程序博客网 时间:2024/06/05 00:53
课时7 使用if判断结构

一、程序流控制
执行过程的顺序化、自动化:智能化的选择及处理;让重复操作更聪明一些。

二、单分支/双分支的if应用
单分支if语句结构:
if 条件测试
        then 命令序列
fi

示例1:检查备份目录/opt/mrepo,若不存在则创建
[root@localhost ~]# cat chkdir.sh
#!/bin/bash
BACKUP_DIR="/opt/mrepo"
if [ ! -d $BACKUP_DIR ]
then
        mkdir -p $BACKUP_DIR
fi

双分支if语句结构:
if 条件测试
        then 命令序列1
        else 命令序列2
fi

示例2:判断目标主机是否存活,显示检测结果
[root@localhost ~]# cat chkhost.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [  $? -eq 0 ]
then
        echo "Host $1 is up."
else
        echo "Host $1 is down."
fi
[root@localhost ~]# ./chkhost.sh 192.168.4.11
Host 192.168.4.11 is up.
[root@localhost ~]# ./chkhost.sh 192.168.4.13
Host 192.168.4.13 is down.

三、多重分支的if应用
多分支if语句结构:
if 条件测试1
        then 命令序列1
elif 条件测试2
        then 命令序列2
......
else
        命令序列n
fi

示例3:判断机试分数,区分优秀/合格/不合格
[root@localhost ~]# cat gradediv.sh
#!/bin/bash
read -p "请输入您的分数(0-100):" GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
        echo "$GRADE 分!优秀"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84] ; then
        echo "$GRADE 分,合格"
else
        echo "$GRADE 分,不合格"
fi

[root@localhost ~]# ./gradediv.sh
请输入您的分数(0-100):89
89 分!优秀
[root@localhost ~]# ./gradediv.sh
请输入您的分数(0-100):47
47 分!不合格

0 0
原创粉丝点击