zoukankan      html  css  js  c++  java
  • shell编程——流控制case和select

    在shell编程里有时候需要出现交换界面,让使用者来选择要执行的功能,如下面所示,这时候就需要用到case和select进行配合

    请选择功能:
    1) 退出
    2) 系统升级
    3) 防火墙配置
    4) tomcat部署
    5) 待定
    #? 

    case语法:

    case 变量 in
    条件1)
       执行语句1;;
    条件2)
       执行语句2;;
    *)
       执行语句3;;
    esac  #就是case倒着写

    select语法:

    select 变量 in 列表
    do
      执行语句
      break #如果需要退出循环,可加break
    done

    以上面为例,要想实现此功能,脚本如下:

    echo "请选择功能:"
    select var in "退出" "系统升级" "防火墙配置" "tomcat部署"  
    do                            
    case $var in                  
        "退出")
          echo "谢谢使用!"
          exit 0;;
        "系统升级")
          echo "系统升级开始,请耐心等待.....";;
        "防火墙配置")
          echo "防火墙正在进行配置,请稍后.....";;
        "tomcat部署")
          echo "采集程序开始部署,请耐心等待....."
        *) #表示除前四种情况外都匹配这里
          echo "选项无效,请重新输入!";;
    esac
    break
    done

    需要注意的是,如果在脚本里加了把报错信息输出到文件的语句:exec 2>test.log
    则只会显示如下:

    [root@localhost ~]# sh select_run.sh 
    请选择功能:

    底下的选项就不会显示在屏幕上,这时就需要使用管道文件fifo解决

  • 相关阅读:
    ElasticSearch 深度搜索、滚动搜索,批量操作
    ElasticSearch搜索
    Elasticsearch 建立ik中文分词器和自定义分词
    React-Redux
    高阶组件-HOC
    React Context使用
    将秒数转换为时分秒格式
    『TensorFlow』TF2的模型保存
    『一图流』基于CRNN的OCR张量流概览
    Dapr微服务应用开发系列0:概述
  • 原文地址:https://www.cnblogs.com/dengtr/p/5027367.html
Copyright © 2011-2022 走看看