首页 > 代码库 > shell基础及流程控制语句之一case判断

shell基础及流程控制语句之一case判断

        上篇博文介绍了while语句,while的基本使用以及死循环还有文件测试方法等以上内容,还是那句话如果想全部掌握则需要多次练习。

        这篇博文来介绍一下case语句,精简的if语句,因为使用case写出来的判断会比if短许多。

        case语法格式:

        case 变量引用 in

            变量值)

                    执行语句;;

            变量的第二个值)

                    执行语句;;

         esac

        如果有多个值则可以一直调用上面的格式最后只要以esac结尾即可。case也可以使用通配符,它所支持的通配符有:

        *:任意长度的任意字符

        ?:任意单个字符

        []:指定范围内的任意单个字符

        a|b:a或者b

        这里插一个小话题就是随机数$RANDOM说是随机数其实是个伪随机数,它的范围是:0-32767。调用的话可以直接输入$RANDOM即可。

        这里没有过多要说的,直接进入实例阶段吧

        来个简单的吧。怕难了不太理解。就判断$a的值是否为1或100如果为1则输出$a如果为100则输出100,为其他则输出wrong

        #!/bin/bash

        for a in {1..100};do

            case $a in 

                1)

                echo $a;;

                100)

                echo $a;;

                *)

                echo "wrong"

            esac

wKioL1SC47TjEjd4AAE8bQvjFj4018.jpg

    运行的结果就是第一行输出1第100行输出100剩下的则全部为wrong

wKioL1SC4_ugWyysAAFV-izEa24870.jpg

        就写这里吧,因为感觉真的太简单了。只要理解了逻辑关系就能快速使用这些循环控制语句了。

本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1587145

shell基础及流程控制语句之一case判断