• [shell]流程控制----case语句


    Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

    case 值 in
    模式1)
        command1
        command2
        ...
        commandN
        ;;
    模式2)
        command1
        command2
        ...
        commandN
        ;;
    esac
    

    case工作方式如上所示。取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

    取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
    例:

    g2_user=0
    g2_userdebug=0
    g2=0
    
    case $1 in
    g2_user)
        g2_user=1
        ;;
    g2_userdebug)
        g2_userdebug=1
        ;;
    g2)
        g2=1
        ;;
    *)
        echo "Wrong param for compile module!"
        echo "The param can be one of below:"
        echo "g2_user;g2_userdebug;g2"
        exit 1
    esac
    

    上面的脚本会取脚本执行时所输入的第一个参数的值,与每一种模式进行匹配:
    输入不同的内容,会有不同的结果,例如:

    输入 g2_user:
    g2_user=1(g2_user变量被赋值1,根据变量值可做后续脚本的处理)
    输入 g2-user:
    界面echo的结果:

    Wrong param for compile module!
    The param can be one of below:
    g2_user;g2_userdebug;g2
    

    并且脚本异常退出!

  • 相关阅读:
    跟一声响骚扰说“拜拜”
    来电过滤 全靠防火墙
    android sd卡读取数据库
    Java程序员十戒
    Java常用的正则表达式验证
    Java 3D 教程:6. Java 3D 与用户界面
    成为Java高手的25个学习目标
    Java数据结构内容整理
    Java中类与类之间的关系
    求助,Java字符串分割问题
  • 原文地址:https://www.cnblogs.com/wucaiyun1/p/11009964.html
Copyright © 2020-2023  润新知