00:00
那下面我们来给大家讲一下shell编程里面的条件判断明白。条件判断。那么条件判断里边呢,各位同学,那么第一个呢,有判断语句。判断语句第二个部分呢,就是就是这个常用的判断的一些条件,这个就是我们说的。条件判断啊,条件判断,条件判断呢,呃,里面有它的基本的语法和应用实例。那我们来看看这个条件,判断它有哪些需要给大家讲的。我们看第一个。我再说一遍啊,因为这个shell编程呢。很多同学他是第一次接触,所以说从语法上呢,看起来好有点怪怪的。啊,有点怪怪的,但是没没有关系,就说你用上几次他也就熟悉了,我们看条件判断的这个基本语法这个地方,现现在说的是判断语句,它的基本语法是这样子的,一一段中括号。
01:04
一对中括号。这个中括号里面呢,这个地方大家看是有一个空格的。这个地方也有一个空格,明白吧,当然你的条件写在中间的。啊,写到中间的,所以它中间它两头有有空格啊。飞空就返回真。明白非空就为真。你比如说吧,我们假设这面写了一个艾特硅谷,当然这这里面是有空格的啊。这个空格的如果是这样写,那么它就返回一个错误。返回一个处,如果中间什么都不写了,返回一个false。返回false,那你如果像这个应用词,你看这个条件。满足。啊,条件满足,他就会去执行什么呢?执行后面的一句,如果不执不满足他就走了。你看这是个并且的关系嘛。如果这个为真,我们就继续往下面走,如果这个为假,退出了。
02:01
明白,但是呢,因为目前我现在还没有学这个,没有没有学这个常用判断,所以说这个地方我就不好举例了,这个地方大家先看一眼我们这个,呃,判断语句的举例呢,怎么放到这个地方来举好不好好行这这段就是一个简单说明,大家记住它的判断语句是一对中括号里面加具体的条件。OK,然后呢,两头有空格,非空为真就行,那现在我先把这块。拿到我们笔记中来,这是条件判断。好,这是条件判断对吧。A。条件。判断。对不对,条件判断。来一个标题二。那判条件判断呢?刚才我们已经说了它的基本语法。和他的一个。对不对,使用的一个实例。先把它放在这儿。
03:00
先把它放在一个地方来看一下。OK。基本语法应用实例我们这都有了,那现在呢,我们具体的就来说一下。基本语法。我们。我们来个标题三吧。应用实力好,下面呢,各位。好,把这稍微整理一下啊,下边我们就来看具体的它那个判断语句有哪些。有这么四大类啊,有这么三大类,同学们。一大类呢,是两个整数的比较,里面有这些。按照文件权限的判断,有这么多,就是判断文件有没有可读的权限啊,有没有可写的,有没有可执性的,按照文件类型来判断,因为它是线脚本啊,同学们,线脚本它主要是去控制我们Linux系统的一些东西,那必然要去。控制我们文件系统是这意思吧,所以说呢,它有常用的有这么多,大家再看一下。
04:04
我我领着大家看一看啊。常用判断,比如说两个整数。判断,这个等号是用来判断字符是不是相等,字符串是不是相等。这个杠LT代表小于杠。这个Le代表小于等于。1EQUAL这个代表了是等于。Greater代表大禹。Greater equal这个代表什么呢?大于等于,这个ne代表不等于啊,这个主要是整数,这个比较特别,特别是指的字符串的比较。然后呢,我们可以看到文件权限来判断。如果是杠R,就代表有毒的权限,杠W写杠X执行,还可以判断文件类型来判断,比如说杠F是不是一个常规文件。杠一是不是文件存在?杠D是不是存在,并且是不是一个目录。说他这有很多的这个案例,那这样子嘛,我把这个呢,给同学们放到笔记中去,然后我们来举例说明,这这些怎么念也念不出来什么味道,待会儿呢,举个举一个例子,举三个例啊,我待会举三个例子,大家一看就明白是个什么意思了。
05:16
来吧。我把它放到这里来。我把它放到我们这个笔记中来啊,大家注意听。好,那我把它。整理一下。那我把它整理一下啊,同学们看。常用判断条件这移到这儿,其他呢,我往整个往这边怎么样挪一下。没问题吧,挪一下再挪一下好看一点好,那么呃,这些这些比较的关键词呢,咱们都有了,那下面我们就来看一个应用实例。应用实例呢?我们举这么三个应用实例,领着大家看一看。
06:02
注意观注意观察老师怎么去写,怎么去判断啊。各位,那后面我们在写综合案例的时候,这些判断语句都是非常有用的。那我们看第一个案例。第一个案例就是说他判断,他要求你判断。判断什么呢?OK是否等于OK?大家想一想,这是不是两个字符串的比较啊?那这个时候呢,就可以用。等号来判断。好,我举写一个例子。好,我重新开一个啊,写一个例子,比如说这个叫判断嘛,价值。Judge好不好?老规矩,写上我们前面这个固定的一个文件头。好,那呃,第一个案例,我们把它放在这里来,他是要干什么呀。
07:01
他是要做这个判断是吧。案例一。我把这个复制到咱们的这个。文章中大家一看就明白,好,那我开始写了啊,他这样写的。洗个衣服。中括号。OK,双引号引起来。OK。等不等于。等不等于啊,等不等于这个OK。空格。如果等的话呢,如果等的话呢,我们就来一个Z。提示一句话。什么叫equal?2EQUAL相等。如果是。如果不是的话呢,我们就另外处理,因为现在还没学if z if语句还没具体我我所以说就先简单的写到这就行了啊,反过来结束。就行了,说如果OK,他认为OK和这个OK相等,就会说这句话,如果不相等,他就怎么样,他不说出这句话,我现在写的是单重分支。
08:04
因为待会儿呢,我们还有一个流程控制,待会再说多重分子怎么写好的,来执行一下。走,给他一个权限,什么权限,其实是这。没问题吧,走,再回车,相等吗?相等相等,好,我把这个稍微改一改,如果我在这写个log OK 100。等于OK吗?显然它是不等于的,对吧,所以说就不再输出。第一个题咱们就说到这里,把这个题给同学们粘过来。非常的简单。OK,这个是判断两个字符串是否相等。放在我们的第一个题里边去。好,放在我们第一个题里面去。第二个同学们,他说判断23是否大于等于22。那大家想这个是应该怎么判断呢?
09:02
那这个时候判断两个数大小是不是大于嘛,那就应该用哪个是不是GT呀。GT greater,那我们现在呢?来写第二个案例。一样写到这段。同样的道理。我把这个题的要求。复制。粘贴到咱们的。这个脚本里面去开写啊,如果。23。杠。GT大于22。那么我们就认。Z,然后E一句话什么呢?就写个大于。OK,如果。如果不大于呢,就不做任何的输出,这个应该是23,肯定是大于它的,所以说当我一执行。17行有个语法错误,我们来看一看。
10:02
17行有个语法错误,我们来看看。Then。这可能是。注释啊,同学们看我这果然是写错了,应该是怎么写啊,刚才。说的要反着写才对。把if这个字母调出来,反着写回车,大于吗?大于23大于啊,如果你换一个数,它就不大于了。这个简单的这个判断。就数字的判断,就这么去写的。我把它拿到笔记中来。好的,这是我们的这一块的内容。那紧接着呢,我们再来看。什么呢?就是判断一个文件是否存在,这个就很有用了,因为有时候我们经常会判断文件存在还是不存在,对吧,在那个每个编程语言里面都有。那我们这个shell脚本里面是通过什么方式来判断呢?告诉大家,它是通过一个参数叫杠一的这个参数来判断的。
11:05
好,具体来说,我给大家写一遍,比如说我们判断这个,那那这个文件有没有,我们这样写吧。我们为了演示方便呢。我们建一个文件好不好,我们touch一个文件touch。它是一个aaa.T文件。同学们看,此时此刻,在我的这个root she下面有个aaa.T文件,我用它来做测试。那朋友们看。朋友们看好,那具体来说,我们就这样判断了。我们就说判断root下面这个shall。对吧,She。这个下面有没有叫AAA点贴息的文件不就完了吗?来,同学们,我们来一起看一看。把它复制粘贴一下。
12:00
复制粘贴一下。跟这儿放一下。那朋友们写一个if。一段中括号先写好,然后直接杠EE,就是呃,这个exists是否存在的意思,那哪个存不存在呢?把路径给我写清楚。Show。然后aaa.TXT文件。OK,写完了Z。如果存在,我们就写一句话,有,或者叫存在。对吧,如果没有呢,结束。就完了,那现在文件存在还是不存在呢?应该是存在的,所以说唯一执行,那理论上说应该打出一句话就说存在。存在,那我为了让这个测试一下,到底是不是真的呢?我把这个文件名改一下AAA改成bbb.t没问题吧,现在大家看此时此刻AAA文件是不是没有了,没有了然后我再来判断一下应该怎么样。
13:02
什么都不输出,就是至少那个存在不会再输出了,果然。所以这个呢是成功的。就是成功的。好,那我把这段代码给同学们拿一下。把这段代码给同学们拿一下,OK。好朋友们,请看这段代码在这里。对吧。那我这儿抛砖引玉,给大家讲了三个不同方式的判断,那么同学们其他是不是可以照着类推,比如说?等于大于啊,还有像这个判断有没有毒的权限啊,如果要判断一个有没有毒,就是R把文件路径写清楚就行了。中国啊。对吧,诶这个地方。中括号中中括号空格。空格回来一样的啊,一样的写也是这样子,判断执行也是判断,是判断是不是一个文件,是不是一个目录也可以这样写,那关于我们这一个条件判断的一个说明,我们就先说到这里。
14:13
下边呢,我们就来说这个流程控制了,流程控制会给大家讲if while for、循环这样的一些东西,最后我们来一个综合案例。
我来说两句