应用场景:判断服务状态,监控服务器的CPU,内存,磁盘等操作
单分支结构
语法结构
!说明:条件表达式可以是test、[ ]、[[ ]]、(( ))等,每一个if条件语句都是以if开头,并带有then,最后以fi结尾
案例1:判断etc/hosts是否是文件,并是否存在,如果是文件并且存在就打印相关命令
双分支结构:加一个else否则
语法结构:如果...那么...否则...
案例1:判断etc/hosts是否是文件,并是否存在,如果是文件并且存在就打印相关命令,如果不存在输出“no file”
多分支结构:加一个elif、else
语法结构:如果...那么,或者如果...那么,否则...
快速记忆
案例1:如果传入的第一个参数为1就输出相关命令,或者有如果传入的第一个参数为2,就输出相关命令,后面同理,最后是否则又输出什么
if语句的使用案例
检查软件包是否安装
案例1:检查sysstat包是否安装
案例2:检查mailx包是否安装
监控http服务
案例1:使用netstat或ss过滤然后使用wc统计,进行判断,如果结果大于0,就表示运行,否则就发邮件报警然后启动服务
监控MySQL服务
案例1:命令行获取到系统剩余的内存的值——配置邮件报警功能——进行判断,如果取到的值小于200M,就报警——编写shell脚本——加入crond定时任务,然后每3分钟检查一次