00:00
好,前面呢,我们介绍的是流程控制里边一辅单分支的处理逻辑。单分支有一个特点,就是相当于我们这里边只判断这个条件是否为真,如果为真的话,执行这段逻辑,那如果为假的话,相当于跳过了这段逻辑啊,那所以我们知道在一般的流程控制里边,我们可能不是要跳过一段逻辑,而是。判断这个条件是否为真。如果为真,如果为假,应该是走两条不同的分支,哎,所以就是它是yes或者它是no的话,我们都有对应的一段处理逻辑,这就是一个标准的双分支了啊,那当然了,双分支最后处理完了之后,还会汇总到这个主流的控制逻辑里面来,所以接下来我们就要判断的就是你怎么样除了这个if之外,剩下的那一部分用什么语句来处理呢?啊,这个其实也非常简单,这就是我们所说的if。Else吗?很多编程语言里边都有这样的语法啊,就是if什么什么,然后else怎么怎么样,这就是说如果满足条件的话走左边,如果不满足就走右边啊,就是二元的一个分割,是或者不是,那对于Linux shell里边呢,同样也有if else的用法,那接下来我们直接在控制台里面做一个简单的测试。
01:18
那当然了,这一部分测试可能会代码内容会比较多啊,所以说我们就不在这个控制台一行去测试了,我们还是进入到这个脚本里面来看一下吧。呃,那同样上边我们是输入了一个用户名,接下来干脆我们就让这个脚本再多输入一个一个年龄吧,我们加一行注释,我们看到在这个脚本里边啊,呃,直接可以打一个井号做一个注释,我这里面空行主要是为了方便大家展示啊,并不是说必须要空行,所以这里边我们输入。第二个参数。表示年龄。那么我们要判断。属于哪个年龄段?
02:00
诶,这是我们具体的一个需求,所以接下来既然是第二个参数嘛,那当然就是DOLLAR2了,我们首先可以判断啊,就像之前外面我们做的那个逻辑一样啊,看它是否小于18岁,那如果小于18岁的话,我们在下边那就then。当前直接echo,它是一个。他是一个未成年人。未成年人。那如果说它大于等于18岁的话,哎,那就是我们所说的else else的话,那非常简单直接,Echo,这就是成年人。这就是我们非常简单的一个处理逻辑,Fi,然后结束我们保存退出,接下来就可以做一个执行了,哎,那if test,然后后边加上当前的用户名,给一个年龄15岁,哎,那我们看15岁的话,Welcome at,硅谷是一个未成年人,那如果说给一个25的话,当然就是welcome,要靠成年人了啊,不管我们的条件判断是否为真,为真为假,都有对应的一个分支输出相应的信息,这就是典型的双分支if。
03:06
非常简单啊,我们也是,如果大家有别的编程语言的基础的话,这个应该是一看就懂,那当然了,除了双分制之外。If,其实还可以去处理多分支的情况啊,那我们知道双分支指的是你判断这个条件是否为真,为真一边,那为假就是另外一边,那其实我们知道啊,如果为假的话。其实剩下的这一部分里边有可能还会再去做一个分支。啊,剩下有可能还会再去做一个分支,所以我们就会发现啊,当前如果把这个语法结合起来的话,这就相当于判断一个条件,后边可以有。三个四个五个甚至更多的不同的分支处理了,那具体的语法其实就是if,哎,如果是yes的话,走这边。那如果不是的话,Else的话走这边。
04:00
那else之后再来一个一符判断,这里又有一个条件,再进行下一步分支,那就相当于又进行了第二次分叉了,哎,所以多分支流程的话,那其实就是。If else if,然后再else if,再else if,最后兜底的,那当然就是剩下所有的情况,一个else收住可以了。那对应的啊,很多编程语言里边都有这种if l if这样的一个写法,那在link shell里边呢,诶,它不是l if,他把这个又做了一个简写,他管这个叫做elli啊,有一些编程语言里边也是这么写的啊,Elli,那我们知道EL其实就是l if嘛,所以后边一定还要继续跟着一个中括号条件判断表达式。那那对应的既然它是if嘛,接下来的执行还是要有一个Z,然后再跟着我们当前的分支,最后兜底的else,哎,那跟我们双分支就一样了,直接下面写处理逻辑,最后还是以Fi反写的意思做一个收尾就可以了。
05:00
好,那接下来我们就来看一看这样一个多分支,我们在这个代码里边啊,怎么样去实现,我们直接就在之前的这一部分里边去做一个更改吧。首先我们看到呃,那上面我们是如果小于18岁的话,那就是未成年人,那我们知道啊,这里如果要是else的话,那其实就都是大于等于18岁都是成年人了嘛,接下来我们其实就是把这个成年人的分支再岔开,所以就是艾。后边跟上一个判断条件。那接下来我们判断这个成年人按什么样的年龄段再划分呢?哎,那最常见的啊,35岁嘛。如果小于35岁的话,接下来注意还得有一个then。Echo。当前就是我们所说的,哎,这是真正的好劳动力啊,青年人。那当然了,呃,接下来我们还可以继续l if,那就是所说的alli。继续判断。接下来的else if里边其实就是所有的人都是大于等于35岁的了,35岁都是中老年人了,那我们继续判断,那就判断他到底是中年还是老年吧,那如果说小于60岁的话,我们认为注意这里还得有赞。
06:11
那么我们这里给一个判断,他是中年人。那同样最后这个else,最后一个分支,剩下的大于等于60岁的,那就是老年人。这就是我们完整的逻辑判断啊,那所以我们看到当前其实是分了四个分支,本质上来讲,它的这个分支逻辑是先判断是否小于18。那如果判断为真的话,哎,这个是未成年人。这是第一次。If else的分支如果大于等于18岁的话,我们下边是要做第二次判断,所以是相当于是这样去做了一个分支啊。接下来判断是否小于35岁。如果是的话,哎,这一个分支是青年人。然后同样接下来又做第三次分支,判断是否小于60岁,这边岔开,如果小于的话是中年人,大于的话是老年人,哎,所以我们看if else的这种多分支,本质上其实这样有一点倾斜的一个二叉数啊,就大家如果熟悉这个数据结构的话,就会发现啊,这其实就是一个带了一点倾斜的这样的一个二叉数的结构,每一次分支都是二分差啊,就是你看这个数啊,它它的这个下边的左右子树都是有两两个两个分支两颗子树。
07:32
所以这就是关于if else的分支用法。当然了,我们把这个做完了之后,还是到外边保存退出去做一个测试吧。那后边我们可以跟上at硅谷首先先给一个15,没有问题,未成年人25,现在就是青年人。36,诶,那就是中年人,那如果67的话,就是老年人,不同的分支都有对应的输出,这就是我们所说的用if进行多分支的处理。
我来说两句