00:00
前面我们介绍了if的流程控制,哎,那我们其实会发现啊,If本质上来讲还是一个双分支的逻辑结构,哎,就是每一次它都是叉两叉,那它所谓的多分支控制呢,其实就是把这个两叉,两叉无限的嵌套下去啊,这样的话就有了这个埃利,埃利,然后不停的去做分支,实现了多分制,那我们可能会觉得,诶,那你何必这么麻烦呢,何必每次都用这个二叉数去实现呢?我能不能直接来一个判断,接下来直接平铺着就给他。多出了很多分支,直接就是一个多叉数,能不能实现这样的一个结构呢?哎,当然也是有的,如果大家熟悉C或者Java的语法的话,就会知道我们其实还有另外一个case语句,可以去进行类似的判断。那在linus she里边的case语句的基本语法,它主要就是处理多分支嘛,它的判断语法就是这样的,是。直接用K啊,就是有很多编程语言里边是前面可能有一个比方说Switch啊,或者其他的一个关键字啊,然后后边具体的情况,前面加K1K2这样去判断,在票里边呢,直接就是K非常简单啊,就是case后边跟上Dollar变量名啊,就是判断我们这个对应的变量啊,然后后边加一个应。
01:18
哎,这个加上这个in就是表示当前的case,应该是在下边的几种情况里面,那我们看下边的这种写法是什么样的呢?啊,接下来就是每一种匹配的啊,对应的匹配上的情形,那我们看这个情形,每一种情形都要写的,就是前面首先是一个值啊,当然这个你可以加上引号,也可以不加引号啊啊那后边跟着一个括号,注意就是右半个括号,必须以右半括号结束表示这是当前的第一种匹配模式。然后接下来如果匹配上的话,那接下来就执行这一段程序。这一段执行完了之后,注意以两个分号结束,这就表示我们当前的这一个分支已经处理完毕啊,这其实就相当于我们那个Java啊,Switch case的时候,我们case某一种情况,后边做了各种处理之后,是不是可以有一个break呀?
02:12
哎,那所以现在大家如果对这个语法比较熟悉的话啊,那就会发现这个其实是差不多的啊,那那我们当前就是做完了一个分支流程的操作之后,直接来两个分号跳出就可以了。那当然了,如果说不是第一个值的话,那我们再判断是否是第二个值,同样也是值,后面跟一个右半个括号,然后下边是对应执行的流程,结束的时候来一个双分号,分号,分号啊,就结束当前的这个分支,Break,当然了,后面还有其他分支可以继续去往后罗列,最后可以有一个星号右括号,这表示什么呢?星号我们知道在shell里边往往就是一个通配符嘛,表示所有情况,所以这就是默认的匹配模式。这就类似于Java里边的最后那个default,也就是说如果上边的所有的模式都没有匹配上,都不属于这些情形的话,那就走这个分支对吧,默认情况就走这儿啊,那接下来就是它的处理情形,最后同样双分号结束,最后注意整个case语句的结束是一个E,这是个什么单词呢?其实我们看这就是case,反过来case是case嘛,它直接反过来EAC,跟前面那个if最后的结束是f Fi是一样的啊啊,所以就相当于我们这是一个正括号,这是一个反括号,把这一段代码全部的括在里面。
03:38
这就是case语句的基本的用法啊,整体来讲也是非常简单啊,多分支的一个处理,所以我们还是在控制台里边去创建一个脚本来进行一个书写啊,啊,那我们直接为。我们写一个case。Test。点SH啊,接下来同样我们还是先加一个头进来,叹号并bash。
04:01
然后接下来我们直接就来做一个分叉的处理啊呃,那这个时候我们干脆就直接输入一个参数,然后这个参数就是一个整数吧,我们就输入一个数字,然后去判断它到底是什么,输出对应的英文吧,我们输出对应的这个英文名称,所以这里就直接case。DOLLAR1,这是我们传进来的这个变量一,它在什么样的情况下呢?哎,那如果是一的话,我们就直接echo。啊,我们直接echo what。接下来如果处理完毕,双分号结束,那同样就是如果是二的话,那直接eo two,非常简单的操作啊,双分号结束,如果是三的话。Echo three。非常直白,每一个分支对应的处理啊,那剩下的我们就不处理了,那来一个兜底的默认处理方式,星号括号,这个时候我们艾扣一个。Number else。
05:01
或者说其他的数字啊,Other number,那最后结束的时候来一个EAC,反过来写case,这样就处理完毕了。保存最初啊,那接下来我们还是把对应的执行权限加上。那么直接在当前的目录下去做一个执行啊,那这里我们说首先需要输入一个值,输入一个二,哎,那我们看输出的就是TWO1,那就是one。当然了,如果给一个六的话,那就是number else,很典型的一个多分支,非常的简单,测试一下就知道它怎么用了。这是case处理多分支的过程。
我来说两句