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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Random生成随机数
    Jmeter(八)Jmeter监控tomcat
    Jmeter(七)Mongodb的增删改查
    Jmeter(六)文件上传和下载文件
    Jmeter(五)mysql的增删改查
    Jmeter(四)测试webservice脚本
    Jmeter(三)断言和关联
    Jmeter(二)参数化
    Jmeter(一)http接口添加header和cookie
    Python学习笔记(一)数据类型
  • 原文地址:https://www.cnblogs.com/shenjianping/p/14364475.html
Copyright © 2011-2022 走看看