zoukankan      html  css  js  c++  java
  • Shell流程控制语句case

      case语法格式:

    case 变量或表达式 in
        变量或表达式1)
            命令1
            ;;
        变量或表达式2)
            命令2
            ;;
    ......
        *)
            默认命令
    esac
    

      case语句流程控制图:

     

       实例:

    [root@youxi1 ~]# vim a.sh
    #!/bin/bash
    cat<<eof
    ***********
    1.增加
    2.删除
    3.修改
    4.查询
    ***********
    eof
    read -p "输入你的选择(数字):" num
    case $num in
    1)
        echo "增加"
        ;;
    2)
        echo "删除"
        ;;
    3)
        echo "修改"
        ;;
    4)
        echo "查询"
        ;;
    *)
        echo "输入的选择无效,请输入有效选择"
    esac
    [root@youxi1 ~]# sh a.sh
    ***********
    1.增加
    2.删除
    3.修改
    4.查询
    ***********
    输入你的选择(数字):2
    删除
    [root@youxi1 ~]# sh a.sh
    ***********
    1.增加
    2.删除
    3.修改
    4.查询
    ***********
    输入你的选择(数字):9
    输入的选择无效,请输入有效选择
    

      case中的匹配符*也是表达式中的一种,不是所有case语句都需要,请根据需求使用。而且变量或表达式前可以使用数字+竖号(|)表示该变量或表达式的序号。

    [root@youxi1 ~]# vim a.sh
    #!/bin/bash
    cat<<eof
    ***********
    a.增加
    b.删除
    c.修改
    d.查询
    ***********
    eof
    read -p "输入你的选择(字母):" chr
    case $chr in
    1|a)
        echo "增加"
        ;;
    2|b)
        echo "删除"
        ;;
    3|c)
        echo "修改"
        ;;
    4|d)
        echo "查询"
        ;;
    esac
    [root@youxi1 ~]# sh a.sh 
    ***********
    a.增加
    b.删除
    c.修改
    d.查询
    ***********
    输入你的选择(字母):a
    增加
    

      

  • 相关阅读:
    C++ 虚函数表解析(转载)
    javaWeb中的/路径问题
    java创建多线程(转载)
    JSP中pageEncoding和charset区别,中文乱码解决方案(转载)
    Class.forName()的作用与使用总结(转载)
    Java内存模型
    java-锁膨胀的过程
    java对象头信息和三种锁的性能对比
    并发容器
    synchronized和volatile以及ReentrantLock
  • 原文地址:https://www.cnblogs.com/diantong/p/11684038.html
Copyright © 2011-2022 走看看