当前位置 博文首页 > shell脚本编程之case语句学习笔记

    shell脚本编程之case语句学习笔记

    作者:admin 时间:2021-05-10 18:19

    case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句。shell编程中的case语句也是这个意思,case会对字符串进行匹配,是从第一个模式开始的,如果有一个模式已经匹配成功的话,其他的模式就不会再进行匹配了,下面看下代码中的用法吧。

    #!/bin/sh
    echo "please yes or no"
    read input
    
    #case语句的基本用法,记住每一个匹配后边都有双分号,代表本模式的结束和下一个#模式的开始,在进行通配符匹配的时候不要加双引号
    case "$input" in
    yes ) echo "yes";;
    y* ) echo "y*";;
    y ) echo "y";;
    no ) echo "no";;
    n ) echo "n";;
    * ) echo "default";;
    esac
    
    #合并匹配模式,case的匹配只能匹配一条,想要做到匹配多个结果使用如下的方式
    case "$input" in
    y* | Y* ) echo "yes";;
    n* | N* ) echo "no";;
    * ) echo "default";;
    esac
    
    #一种更屌的匹配
    case "$input" in
    [yY][eE][sS] | [yY] ) echo "yes";;
    [nN] | [nN][oO] ) echo "no";;
    * ) echo "default"
    echo "end"
    esac
    
    exit 0
    js