搜索
简帛阁>技术文章>Bash Shell中的select命令简单使用示例

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 

言今天刚好写了一个自动化打包脚本,再次使用到了bashshell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。格式我今天也是第一次使用select流程控
前言Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。内置命令包含在bashshell本身里面。我该如
ashshell中测试命令test命令提供了ifthan语句中测试不同条件的途径。如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0。这样ifthan语句就与其他编程语言中的i
前言还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名。这里记录一下实现过程。当然,最后我也会给出官方的做法。(ps:很囧,实现完了才发现原来BashShell有现成的函数)获取文件名假
言今天工作中遇到了一个问题,如果将目录A中的文件拷贝到目录B中(前提目录B没有该文件),并保持文件在目录A的结构。项目重点如下:需要在目录B中保持文件在目录A中的结构。假设A目录文件A/test/1
PS1“[\t][\u]\$”//新的shell提示符显示了当前时间和用户名在Windows中,你经常看到这样的文件路径:D:\work\FTLmoniqi\ftl_lru0513\ftl_lru0
1字符截断:如果是一般路径的字符截断可以用basename和dirname这两个工具:basename可以从一个文件路径中截一个文件名例如:代码如下:$basename/home/filetarfil
CtrlD相当于Del键,即删除光标所在处的字符CtrlE相当于End键,即将光标移动到本行末尾CtrlK用于删除从光标处开始到结尾处的所有字符CtrlL清屏,相当于clear命令CtrlR进入历史命
在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家:一、bash变量类型:本地变量局部变量环境变量位置变量特殊变
在linux命令行模式下,如何一次性快速删除一行刚刚输入的命令?经常在命令行输入命令的时候,一段文字都需要删除,一个字段一个字段,比较耗费时间以下提供一些命令,配合在一起操作,可以一定程度提高工作效率