• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux shell select菜单选择实现代码

    假设需要在shell下实现一个菜单,估计会使用 循环和read实现交互,在学习中发现一个select可在shell下很方便的实现这种交互菜单

    1. select 语法

    select var in ...
    do
    	#your code
    done

    2. 示例

    #! /bin/bash
     
    echo "what is your favorite color :" 
    select color in "red" "blue" "green" "white" "black"
     do
         echo "you choose is $color"
         break
     done

    Bash Shell中的select命令简单使用示例

    前言

    今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令
    可以帮助我们完成菜单选择功能。

    格式
    我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式如
    下:

    select $var in ${list[@]}
    do
    statements that can use $var
    done

    在select执行时,会根据list数组给出选择菜单,用户选择后的结果保存在$var变量中,然后执行statements语句。执行完成
    后,再次给出菜单,等待用户选择。如果用户想跳出选择循环,需要在循环体中根据条件增加break语句。
    示例
    给出一个select的示例,大家可以参考:

    #!/bin/bash
    fruits=(
    "apple"
    "pear"
    "orange"
    "watermelon"
    )
    echo "Please guess which fruit I like :"
    select var in ${fruits[@]}
    do
    if [ $var = "apple" ]; then
    echo "Congratulations, you are my good firend!"
    break
    else
    echo "Try again!"
    fi
    done

    例子2

    #!/bin/sh
    
    select ch in "begin" "end" "exit"
    do
        case $ch in
        "begin")
            echo "start something"
            ;;
        "end")
            echo "stop something"
            ;;
        "exit")
            echo "exit"
            break;
            ;;
        *)
            echo "ignorant"
            ;;
        esac
    done;
    

    运行效果:

    yuxuecheng@linux:~/shellSource> ./select_test.sh
    1) begin
    2) end
    3) exit
    #? 1
    start something
    #? 2
    stop something
    #? 4
    ignorant
    #? begin
    ignorant
    #? 3
    exit

    说明:select是循环选择,一般与case语句使用。

    上一篇:工作中使用Shell实用脚本
    下一篇:Shell调用curl实现IP归属地查询的脚本
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux shell select菜单选择实现代码 Linux,shell,select,菜单,选择,