00:00
大家好,欢迎大家继续收看上回谷的云计算课程,我是沈涛老师。这节课呢,我们开始学习流程控制语句啊各位。呃,任何语言当中,流程控制语句都是它的基础语法,都是我们这个一定要掌握的东西,什么叫流程控制啊,你要理解一件事。我们的所有的程序,不能说所有啊,我们的12程序吧,绝大多数程序它是顺序执行,也就是说第一条命令语句执行完执行第二条,第二条执行完执行第三条,第三条执行完执行第四条,依此类这个执行,那流程控制就是改变这种顺序执行的方法。比如说if语句它可以干嘛,比如说我判断这个条件成立,才会执行这个程序,如果条件不成立,我可能就直接跳过去了,中间这两段语句没执行,直接跳到下面这个语言执行了。哎,如果条件不成立,那是不是就打破了顺序执行的这样一种流程,所以叫流程控制,那循环是什么循环,本来说中间这两条语句执行一遍就下来,该执行,后面它呢,就反过来再执行,反过来再执行,执行十遍,执行20遍,这就叫循环,所以我们把这类语言,这种语句都统称为流程控制语句。
01:17
那流程控制当中最常见的,也是最这个有用的,或者说最常用的就是if判断。那A判断分了一些什么单分支啊,双分支和多分支判断,那我们先来看看单分支的if语句,那这个简单啊,看这个其实我讲。虽然它叫语言,但是其实跟我们人说话有点像。If,如果。条件判断式成立,那么Z,那么执行这个程序,当然言下之意就是如果这个程序不执,这个条件不成立,这个程序就不执行,执行后续语句,这就是A的作用。注意一下格式啊,我们上这个格式跟其他语言都不太一样,其他语言是这样写的,If判断,然后括号括起来,这中间是if语言要执行的,但是我们这里你可以看到我们是拿这个Fi。
02:14
If当成正括号,把这个if反过来写,把它变成反括号,这个格式很别扭啊,只有十这样了。但是你把它熟悉就好,这个就当成是括号,再有一个Z呢,如果写在条件判断式之后需要加分号,那么一般的情况下也可以写在第二行换行,这种情况下分号就没有必要了。再有一个啊,对。多说一句啊,我们其他语言,比如说PP,它的程序语言是用分号结尾,你要这一行,这一个程序结束都要加分号事没有这样的东西,你小心不要乱加。所以每一种语言虽然说起来,比如说流程控制几乎都是一样的,但是还是有一定特殊的语法格式不一样,需要视野。
03:00
好。这个就是请你们需要注意的这个格式,那我们写一个吧,那我们写啥。我们把前面这个写完啥东西,你还记得我说的这个事吗?就是我们想要判断一下我的跟分区的占比有没有超过80。如果超过了80%,我就要报警。那这样的话,这个程序是非常简单的,那我们只要用一个单分之余,几句话,就几句话就能写完,所以我们先写这样一个程序,那各位这个程序怎么写,哎,我再说我的分析,这里其实就是我所谓的编程思想,OK,那怎么写呢?其实这个我们这个程序啊,就这个写这个跟分区报警的这个程序,其实我们之前已经把这个程序大部分都写完了,为啥咋写,关键点是不是就是把这个百分占比。给提出来附到变量里,然后是不是对比这个变量是不是大于等于80。
04:00
如果是,则报警,如果不是,就啥都不干。对不对,那关键是不是就是这个,那我们前面是不是就已经讲了,怎么提取这个记得吗?怎么记。首先是不是graph去找D下的SD3,把跟风趋势先提出来。对吧,然后呢,是不是用aw k来分列提取列1234第五列对吧?Aw k是不是提取里面的第五列的内容。到了五对吧,但是他提出来的内容是不是百分之12%,而不是一个纯数字12只有数字是不是才能,是不是大于等于80,是不是才能对比。对,那如果是12%,这是对比不了了,对不对,所以我现在还要干嘛,还要cut对吧?杠G拿百分号作为分隔符,然后呢,杠F提取第一列,这时候是不是就把这个东西提出来好了。
05:00
这是如果写成这样,你把这个都能能想起来,把这个数提出来,你这个程序其实就已经写完了,那我们来看啊,我们写一个F 1.f要写很多,我们先写一个,那我们。来并下的卫士,那我们来注释什么都不加的,其实标准程序都应该是啥,加一下注释说这东西是干嘛的,然后标识一下作者什么什么的,这些东西咱算咱就这个简易几点对吧,那我们进一个变量A等于。各位。要想让命令的结果负一变量,咱们学过了吧。到单小括号是把命令给。括起来前面啊,如果你手工直接写这个命令跟我敲一下,太容易出错了,所以你跟我一样,先把命令在命令行里测一下,没问题,把它粘过来OK好了,那现在A的值是不是就是就是BA里边的值是不是就是这个占比了,对吧?那我们现在开始写F。什么Dollar a Dollar a。
06:03
大于等于80,如果它大于等于80,那么。Than,是不是就是那么than大么,干嘛IO报警,哎,各位报警啊,其实我们说IO这个东西有讨厌之处,为啥它是打印在屏幕上。而我们这个程序,我们说有可能是要求它自动执行,对不对,那你打印到屏幕上,我有可能就看不见,那怎么办?各位事可以直接调用邮件,也可以发个邮件给你的用户发邮件就行了,对吧,这个邮件发送我们也讲过对吧,那我们这里呢,因为我们是手工执行,所以我就挨扣输出一下就行,那也就说111行了就OK了。就这么简单。我只要检测这个数大于80,我就输出幺幺,如果没大于80,那就啥都不干,那也就是说这个程序运行完,如果啥都没干,什么都没发生,证明这个占比就没有超过80,就没有达到报警要求,对吧?好了,就这么简单,所以我说。
07:04
Share程序考验的不是你对语言有多熟悉,而是你对Linux多熟悉,你能不能真正的把这个有效信息提取出来,这个可能才是真正考验你的东西。OK,真要提出来了,这个就非常简单了,对吧?行了,这个时候干嘛?负负权限让他执行,那我们都知道这个值现在是12,那所以他应该执行完,是不是啥也没干,因为他没有大于80,那我总得让他报一下情况,看看验证一下吧,那我不能把这个改成80,为啥我往这里面不断的写文件,第一太太笨,第二也消耗时间,占用资源,没必要,那我怎么办?简单吧,你把这个A这个对比的值改小点,别百分80了。别80%了,就是如果超过十就行,对不对,我们只是测一下,那这个时候看诶诶诶执行一下。
08:00
来是不是有报警对吧?当然我这里写的报警只是一行1111,你真要报警是不是要写清楚警告这个某这个某一个分区满了,这是不是才能看懂对吧,那这里呢,我们只是干嘛。只是让程序可以正确运行就行了,所以我打印了一行111啊好各位,单分支的这个东西就这么简单,但是啊,这个东西太简单了,能写的东西不多,那这个其实就是一个啊很常用的实用的例子,OK,可以报警也可以干嘛,向管理员发送邮件都是可以的,诶这样我们可以如果写好就可以放在系统里了啊,当然我再说啊。我们讲的上课能讲的东西肯定是有限的,那我现在说我这里讲了,我监测硬盘空间对吧,那你是不是就可以隐身啊,我什么隐身,你不光可以监测硬盘,我是不是应该还可以监测内存的使用率。
09:02
对吧,我如果空余内存少于多少,我是不是也可以报警,对不对,那后面我们是不是还会讲CPU的这种利用率的,这个这个占比能够查到,对吧,那我们是不是也可以监测CPU。对不对,那也就是说我这里讲了一个例子,哎,你怎么来提升你的水平,你是不是就可以把它扩展。我不光可以监测硬盘吗?我是不还可以监测内存,我是不是甚至可以监测这个CPU都是可以的,OK,但是你别发啊,有人说期前就有学员说,老师,那我能不能监测一个目录是不是占满了,你犯二了,目录怎么可能占满?哎,什么意思啊,这个硬盘是不是得有一个硬盘得有,比如说100个G,它得有总大小,我是不是才能监测它占满量。只有硬盘和分区是不是才会有总大小,你一个目录怎么可能会有总大小?所以目录有人说老师我想监测目录有没有写完,这个太二了,你只能监测分区或者硬盘有没有写完,对吧,那我说了这个你们是不是可以尝试一下这个监测内存对不对?哎,其实我跟你讲啊。
10:08
我们原先的时候没有什么这个成熟的自动化运维工具,什么这个啊,这个什么安斯瓦什么都没有。这些东西都没有,那我们其实当年我们这些自动化运营工作哪来的,就是靠脚本自己写了,有了一个是吧,监测了这个,那么其他的所有东西就可以写对不对,所以你可以尝试着来写一下,哎,其实原理都是一样,OK好了,那单分之F语句我们就说到这儿,这节课就这样,我们下节课再见啊大再多说一句啊。这种例子你要默写出来,也就是说我举完了看完了不行,看完了没有任何意义,知道吧,现照着抄。抄完了默写,能默写出来扩展,哎,慢慢写几个,你就会逐步建立自己的编程思想,OK,行,那这节课就这样,我们下一节课再见。
我来说两句