zoukankan      html  css  js  c++  java
  • Shell之case结构条件句

    一、什么是case结构条件句

    case语句实际上就相当于一个多分支结构语句。其基本语法:

    case "字符串变量" in1) 指令1...
            ;;
        值2) 指令2...
            ;;
        值3) 指令3...
            ;;
    esac

     根据用户输入的数字,判断输出哪个数字,比如,用户输入1,就输出1;输入2,输出2;输入其它的数字,返回输出输出错误。

    #!/bin/sh
    read -p "please input number:" number
    case "$number" in
       1)
          echo "this number is 1"
       ;;
       2)
          echo "this number is 2"
       ;;
       [3-9])      
          echo "this number is greater than 3 less than 9"
       ;;  
        *)
          echo "input error" 
       ;;
    esac

    二、综合实例

    (一)服务菜单

     通过case语句打印一个服务菜单:

    1、MySQL
    2、Apache
    3、Web

    当用户选择的是什么,打印它的选择项内容。

    #!/bin/sh
    
    menu(){
    
    cat << END
    1、MySQL
    2、Apache
    3、Web
    END
    }
    menu
    read -p "please select service number:" number
    case "$number" in
       1)
       echo "MySQL"
       ;;
       2)   
       echo "Apache"
       ;;
       3)   
       echo "Web"
       ;;
       *)
       echo "please select number"
       ;;
    esac

    显然,上面是每次都是单次执行,如果不中断的选择就需要加上循环:

    #!/bin/sh
    
    menu(){
    
    cat << END
    1、MySQL
    2、Apache
    3、Web
    4、Exit
    END
    }
    while true
    do
    menu
    read -p "please select service number:" number
    case "$number" in
       1)
       echo "MySQL"
       ;;
       2)   
       echo "Apache"
       ;;
       3)   
       echo "Web"
       ;;
       4)
       exit 0
       ;;
       *)
       echo "please select number"
       ;;
    esac
    done    

     

    作者:iveBoy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    TSQL Challenge 1
    CTE的使用
    编号问题
    C语言结构体(sizeof长度)偏移量的简单研究
    【更新中】树的遍历
    【更新中】C语言语法汇总(仅记录遇到的坑)
    windows修改PowerShell(命令提示符)默认中文编码方式
    “人工智能”并不可怕
    学习《操作系统》收获
    人类大脑只开发了10%? I don't think so.
  • 原文地址:https://www.cnblogs.com/shenjianping/p/14364475.html
Copyright © 2011-2022 走看看