select 表达式是一种bash的扩展应用,动作包括:
(1)、自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单)
(2)、自动read输入选择 (没有 read指令,自动输入)
(3)、赋值给变量 (没有赋值指令,自动输入数字后,赋值字符串给变量)
1、 select典型例子
[macg@machome ~]$ vi test.sh echo "What is your favourite OS?" select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do break select本身就是一个循环,break是当选择后,就跳出循环 done echo "You have selected $var" |
[macg@machome ~]$ sh test.sh What is your favourite OS? 1) Linux 2) Gnu Hurd 3) Free BSD 4) Other #? 2 You have selected Gnu Hurd Select输入选择是数字,但变量值却是字符串 |
2、虽然select本身就是循环,但不建议用他的循环 ,因为select虽然循环却不再显示菜单,只循环输入,所以seleckt 语句干脆直接用break,只执行一次,在其上另配while循环
while echo "display current netconfig:" do select vi in "ifconfig -a" "hosts" "netmasks" "quit" do case $vi in 虽然输入是1,2,3,4,5,但case变量输入值却是菜单项(字符串) "ifconfig -a") /sbin/ifconfig -a;; "hosts") more hosts;; "netmasks") more netmasks;; "quit") exit 0;; *) continue;; esac break done done |
$ sh test display current netconfig 1) ifconfig -a 3) netmasks 2) hosts 4) quit |
3、select空格出错的问题
问题:
下面的代码运行出错,如果package name那没有空格就没有问题
select var in "All" "package name" do case $var in All) break;; package name) break;; *);; esac done 解答:
case语句的语法问题,跟变量赋值时一个道理 case里面的每一个分支变量中要想将空格作为字符串的一部分,就得加上引号 这样就好了: select var in "All" "package name" do case $var in All) break;; "package name") break;; *);; esac done
相关推荐
在Linux Shell编程中,`select`命令是一种非常实用的交互式菜单构建工具,它源自于Korn Shell(ksh),并被广泛应用于bash等其他Shell环境中。`select`命令允许用户从一系列选项中进行选择,这在创建用户友好的脚本...
shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...
select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景,C语言、C++、Java、Python、C# 等其它编程语言中是没有的 Shell select in 循环的用法如下: select variable in value_list do ...
在Bash Shell编程中,`select`命令是一个非常实用的工具,主要用于实现交互式的菜单选择功能,常用于脚本编写,提升用户与脚本的交互体验。本文将深入讲解`select`命令的基本用法和一个简单的示例。 首先,了解`...
【SQLPLUS在Bash_shell的使用】 SQLPLUS是Oracle数据库管理系统提供的一款强大的SQL命令行工具,它允许用户在命令行界面执行SQL语句、PL/SQL块以及进行数据库管理任务。在Bash Shell环境下,我们可以利用Shell脚...
描述: 使用 shell script 将文本文件转换为 CSV 文件,同时实现数据的处理和过滤。 标签: shell, txt, csv 知识点: 1. 文本处理: 使用 sed 命令对文本文件进行处理,例如删除逗号、替换字符串等操作。 2. 数据...
8.Shell编程之Case语句及Select综合应用_0.mp4 9.Shell编程之函数及案例分析.mp4 10.Linux下深入编程之函数及数组编程.mp4 11.Shell编程之SED及GREP综合讲解.mp4 12.Shell编程四剑客及案例详解.mp4 13.Linux下自动化...
在Shell编程中,`select`命令是一种特殊的循环结构,它主要用于构建菜单式交互界面,方便用户通过简单的数字或字母选择来执行不同的命令或操作。与传统的`for`循环不同,`select`命令更加注重用户的交互体验。 ####...
- `select` 语句:菜单式的选择结构。 7. **环境变量和位置参数**: - 环境变量:由系统或父进程设置的变量,可以通过 `export` 命令设置。 - 位置参数:脚本启动时传入的参数,如 `$1`, `$2` 等。 8. **字符串...
在Linux系统中,最常用的是bash(Bourne Again SHell),它是在UNIX系统中广泛使用的sh(Bourne Shell)的基础上发展起来的,并且成为了Linux系统的标准Shell。 学习Shell脚本的基础知识是编写Shell脚本的前提。...
在嵌入式Linux系统中,Shell脚本的使用同样广泛,尤其适合于硬件资源有限的系统,因为它不需要额外的开发和运行环境。 首先,Shell脚本语言是一种解释型语言,将常用的Linux命令存储在文件中,由Shell读取并顺序...
这个脚本使用了while循环和select语句来实现用户交互和查询的功能。 这六个SHELL脚本练习涵盖了循环、条件语句、函数、参数处理、文件操作等多方面的SHELL编程技术,可以帮助读者更好地理解和掌握SHELL脚本编程的...
`break`, `continue`控制循环的执行,`case`语句提供多路选择,`select`则可用于交互式菜单。 **10. 文件操作** 学会如何创建、删除、移动和复制文件是Shell编程的基础。例如,`touch`, `rm`, `mv`, `cp`等命令。 ...
本资源摘要信息涵盖了 Linux Shell 基础编程的知识点,包括 Shell 编程入门、变量、If、While、For、Case、Select 基本语句案例演练、Find、Grep、Awk、Sed 四剑客深度剖析等。 Shell 编程概述 Shell 编程是 Linux...
这里我们关注的是使用Shell脚本来实现MySQL从原表到历史表的数据迁移。这种自动化的方法可以帮助我们高效、准确地处理大量数据,同时减少人为错误。 首先,让我们深入理解`shell`脚本。Shell是Linux和Unix系统中的...
6.7 select命令使用 119 第7章 sed、gawk介绍与正则表达式 120 7.1 sed编辑器 120 7.1.1 在命令行中定义编辑器命令 120 7.1.2 在命令行中使用多个编辑器命令 121 7.1.3 从文件读取编辑器命令 121 7.2 gawk程序 122 ...