流程控制之条件判断

一、if单分支结构

流程控制之条件判断_第1张图片

流程控制之条件判断_第2张图片

准备知识:

查看系统内存:free指令   -m表示以MB的大小显示

mem是系统内存,swap是虚拟内存,需要将系统剩余内存大小过滤出来,之后与100M对比

流程控制之条件判断_第3张图片

也可以用awk指令

使用正则表达式过滤,以空格(不管几个)作为分隔符分割,取第四个字段

发邮件:

安装邮件服务器服务端:

启动邮件服务器:

-s指定标题,之后跟用户名,回车之后输入内容,交互式方式

流程控制之条件判断_第4张图片

脚本里面不能交互式,所以我们使用echo

流程控制之条件判断_第5张图片

做题:

直接写10是每个小时的第10分,所以是*/10,表示每十分钟

流程控制之条件判断_第6张图片

判断是不是root有多种方式:

二、if双分支结构

流程控制之条件判断_第7张图片

用systemctl status 判断进程状态,如果状态码是0则说明进程运行,如果非0,没有运行

也可以使用ps -ef,进程运行至少要有两行输出,进程没有运行过滤时grep的也会输出。可以用grep -v grep将grep自己过滤掉,之后用wc -l显示有多少行输出。0就是进程没有运行,非0就是进程运行

流程控制之条件判断_第8张图片

使用systemctl status:

流程控制之条件判断_第9张图片

使用ps -ef:

流程控制之条件判断_第10张图片

流程控制之条件判断_第11张图片

-c指定发几个包,-W表示超时时间timeout,1表示1s,后面跟要拼哪个主机,标准输出和标准错误输出写到黑洞

流程控制之条件判断_第12张图片

三、if多分支结构

流程控制之条件判断_第13张图片

流程控制之条件判断_第14张图片

流程控制之条件判断_第15张图片

流程控制之条件判断_第16张图片

流程控制之条件判断_第17张图片

流程控制之条件判断_第18张图片

流程控制之条件判断_第19张图片

流程控制之条件判断_第20张图片

流程控制之条件判断_第21张图片

流程控制之条件判断_第22张图片

过滤vendor_id,可能有多行输出,去重,用awk指令,-F指定分隔符,显示最后一个字段($NF),或者第二个字段($2)也是一样的,也可以用cut,结果有空格,可以用下面的space匹配

流程控制之条件判断_第23张图片

Space表示空格,*表示出现0~多次匹配,$表示以什么结尾

流程控制之条件判断_第24张图片

四、多条件判断语句case

流程控制之条件判断_第25张图片

流程控制之条件判断_第26张图片

流程控制之条件判断_第27张图片

流程控制之条件判断_第28张图片

流程控制之条件判断_第29张图片

你可能感兴趣的:(linux,shell)