Shell编程之条件语句(二)

简介: Shell编程之条件语句(二)

六、if语句


#单分支
if[ 表达式 ];then
 ...
fi
#双分支
if [ 表达式 ];then
 ...
else
 ...
fi

6.1 案例1

[root@localhost/data/sh]# vim ping.sh
#!/bin/bash
#判断主机是否存活
#ping -c 3 -i 0.5 -w 2 $1 &> /dev/null && echo "$1 is online" || echo "$1 is offline"
#发三个包,每隔5秒,注释的为三元运算符方法
ping -c 3 -i 0.5 -w 2 $1 &> /dev/null
if [ $?-eq 0 ];then 
    echo "$1 is online"
else
    echo "$1 is offline"
fi



6.2 单分支案例2

磁盘空间已用大于80%报警



#!/bin/bash
#磁盘空间已用大于80%报警 
USED=$(df |grep /dev/mapper/centos-root | awk '{print $5}'|awk -F '%' '{print $1}')
#将取到的值赋给USED
if [ $USED -gt 40 ];then
#为了方便演示,改为40
        echo "警告!当前/目录的磁盘使用率超过为$USED%"
fi



6.3 双分支案例3


[root@localhost/data/sh]# vim netstat.sh
#!/bin/bash
netstat -natp |grep :80 &> /dev/null
#查看端口
if [ $? -eq 0 ]
then
        echo "网站服务已在运行!"
else
        if rpm -q httpd &> /dev/null
        #查看软件是否安装
        then
                echo "正在启动httpd服务"
                systemctl start httpd
        else
                echo "正在安装并启动httpd服务"
                yum install -y httpd &> /dev/null && systemctl start httpd &> /dev/null
        fi
fi



6.4 多分支案例4

#!/bin/bash
read -p "请输入你的考试分数:" grade
if [ $grade -ge 85 ]&& [ $grade -le 100 ]
then
    echo "你的成绩为$grade"
    echo "你的成绩为优秀"
elif [ $grade -ge 70 ]&&[ $grade -le 84 ]
then
    echo "你的成绩为$grade"
    echo "你的成绩为良好"
elif
[ $grade -ge 60 ]&&[ $grade -le 69 ]
then
    echo "你的成绩为$grade"
    echo "你的成绩为合格" 
else
    echo "你的成绩为$grade"
    echo "你的成绩不合格"
fi



七、case语句


if的多分支是逐条判断,相对而言效率会低一些,而case语句,不满足的条件直接跳过,相对执行效率快一些


7.1 案例case并行判断

[root@localhost/data/sh]# vim case.sh
#!/bin/bash
#判断分数等级
read -p "请输入你的分数:(0-100)" num
case $num in
100)
        echo "恭喜你获得$num 分"
;;
[89][0-9])
#80-99
        echo "优秀!获得$num 分"
;;
[67][0-9])
#60-79
        echo "获得$num 分继续努力" 
;;
[0-9] | [1-5][0-9])
#0-59
        echo "继续努力!获得$num 分"
;;
*)
        echo "输入有误,请重新输入"
esac



八、总结


8.1 定义一个变量的方法

1.read -p 执行时显示提示信息变量名


2.变量名=变量值


export +变量名 生成为全局变量


8.2 浮点数的运算

echo "浮点运算字符串” Ibc


awk 'BEGIN{print 浮点运算字符串}’

目录
相关文章
|
20天前
|
Unix Linux Shell
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
64 0
|
20天前
|
Shell C++ 开发者
【Shell 编程指南】Shell运算操作符之$[]详解
【Shell 编程指南】Shell运算操作符之$[]详解
26 0
|
20天前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
78 0
|
4天前
|
机器学习/深度学习 Ubuntu Shell
shell 脚本 条件语句
shell 脚本 条件语句
|
20天前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
20天前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
20天前
|
存储 网络协议 Shell
第十章 Shell编程时常用的系统文件
第十章 Shell编程时常用的系统文件
|
20天前
|
监控 Shell 开发工具
Shell编程
Shell编程
|
20天前
|
Shell
Shell脚本编程基础
Shell脚本编程基础
|
20天前
|
存储 Java Shell
bigdata-04-shell编程基础
bigdata-04-shell编程基础
32 0