`
天梯梦
  • 浏览: 13630203 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Linux Shell脚本入门教程系列之(十四) Shell Select教程

 
阅读更多

本文是Linux Shell脚本系列教程的第(十四)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程

在上一篇文章:Linux Shell系列教程之(十三)Shell分支语句case … esac教程 的最后,我们简单的介绍了一下使用case…esac来建立菜单的方法,其实shell中还有另外一种更专业的建立菜单的语句:select语句。

 

Select 搭配 case来使用,可以完成很多复杂的菜单控制选项。

select和其他流控制不一样,在C这类编程语言中并没有类似的语句,今天就为大家介绍下Shell Select语句的用法。

 

一、Shell Select语句语法

Shell中Select语句的语法如下所示:

select name   [in   list ] 
do 
    statements that can use  $name... 
done

 

说明:select首先会产生list列表中的菜单选项,然后执行下方do…done之间的语句。用户选择的菜单项会保存在$name变量中。

 

另外:select命令使用PS3提示符,默认为(#?);

在Select使用中,可以搭配PS3=’string’来设置提示字符串。

 

二、Shell Select语句的例子

还是老样子,通过示例来学习Shell select的用法:

#!/bin/bash  
#Author:linuxdaxue.com
#Date:2016-05-30
#Desc:Shell select 练习
PS3='Please choose your number: ' # 设置提示符字串.  
echo
select number in "one" "two" "three" "four" "five"  
do  
echo  
echo "Your choose is $number."    
echo  
break  
done 
exit 0

 

说明:上面例子给用户呈现了一个菜单让用户选择,然后将用户选择的菜单项显示出来。

这是一个最基本的例子,主要为大家展示了select的基础用法。当然,你也可以将break去掉,让程序一直循环下去。

 

下面是去掉break后输出:

$./select.sh
1) one
2) two
3) three
4) four
5) five
Please choose your number: 1

Your choose is one.

Please choose your number: 2

Your choose is two.

Please choose your number: 3

Your choose is three.

Please choose your number: 4

Your choose is four.

Please choose your number: 5

Your choose is five.

 

然后我们将例子稍稍修改下,加入case…esac语句:

#!/bin/bash  
#Author:linuxdaxue.com
#Date:2016-05-30
#Desc:Shell select case 练习
PS3='Please choose your number: ' # 设置提示符字串.  
echo
select number in "one" "two" "three" "four" "five"  
do
case $number in
one )
echo Hello one!
;;
two )
echo Hello two!
;;
* )
echo  
echo "Your choose is $number."    
echo
;;
esac
#break  
done 
exit 0

 

这样的话,case会对用户的每一个选项进行处理,然后执行相应的语句。输出如下:

$./select2.sh
1) one
2) two
3) three
4) four
5) five
Please choose your number: 1
Hello one!
Please choose your number: 2
Hello two!
Please choose your number: 3

Your choose is three.

Please choose your number: 4

Your choose is four.

 

将这些语句进行修改拓展,就可以写出非常复杂的脚本。怎么样,是不是非常强大呢,赶快试试吧!

更多Linux Shell教程请看:Linux Shell脚本系列教程

 

原文:Linux Shell系列教程之(十四) Shell Select教程

上一篇:Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程

下一篇:Linux Shell脚本入门教程系列之(十五) Shell函数简介

本文转自:Linux Shell脚本入门教程系列之(十四) Shell Select教程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Linux下Shell从入门到精通完整版视频.zip

    1.Linux下Shell编程基础入门.mp4 2.Shell编程之变量及LAMP导航菜单编写.mp4 3.Shell编程之IF条件语句各种案例演练.mp4 4.使用if条件语句编写MySQL备份脚本.mp4 5.Shell编程之LAMP一键安装脚本实战.mp4 6.For循环及...

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...

    Shell脚本学习笔记

    第1章 BashShell命令 6 1.1 Shell提示符 6 1.2 文件与目录Shell命令 7 1.2.1 更改目录命令(cd) 7 1.2.2 列表命令(ls) 7 1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 ...

    跟老男孩学Linux运维:Shell编程实战

    《跟老男孩学Linux运维:Shell编程实战》第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。《跟老男孩学Linux运维:Shell编程实战...

    跟老男孩学Linux运维:Shell编程实战 part3

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    shell脚本返回值问题的解决

    但是在shell脚本中限制较多,因此如果我们想实现这样的功能的话,稍微困难一些,本人在实践中做了一些该方面的实验,并做笔记分享。 shell脚本的返回值可以使用return参数,但是return只能返回整数类型的值。因此...

    跟老男孩学Linux运维:Shell编程实战.part2

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    跟老男孩学Linux运维:Shell编程实战.part1

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    跟老男孩学Linux运维:Shell编程实战 part5

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    跟老男孩学Linux运维:Shell编程实战 part1

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    跟老男孩学Linux运维:Shell编程实战 part4

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    跟老男孩学Linux运维:Shell编程实战 part2

    第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect...

    shell编程基础(linux编程方向)

    • 1 合理使用注释 • 2 变量赋值和引用 • 3 Shell里的命令 o 3.1 Unix 命令 o 3.2 概念: 管道, ...• 9 Shell脚本示例 o 9.1 一般编程步骤 o 9.2 二进制到十进制的转换 o 9.3 文件循环拷贝 • 10 脚本调试

    学习shell必备(CN).chm

    一本深入学习shell脚本艺术的书籍 Mendel Cooper 春敏 杨 - 毅 黄 - 3.9.1 2006年5月26日 这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中...

    Linux_Shell编程基础

    目录 • 1 变量赋值和引用 2 Shell 里的流程控制 o 2.1 if 语 句 o 2.2 && 和 || 操作符 o 2.3 case 语句 o 2.4 select 语句 ...6 Shell 脚本示例 o 6.1 二进制到十进制的转换 o 6.2 文件循环拷贝 • 7 脚本调试

    shell 基本语法

    从网上搜集的shell 基本语法 * 1 合理使用注释 * 2 变量赋值和引用 * 3 Shell里的命令 ... * 9 Shell脚本示例 o 9.1 一般编程步骤 o 9.2 二进制到十进制的转换 o 9.3 文件循环拷贝 * 10 脚本调试

    把mysql查询结果保存到文件的shell脚本

    该脚本是先删除已经存在的文件,然后后台执行SQL语句将其执行结果以一定的格式写入文件 代码如下:#!/bin/bashif [ -f “/var/lib/mysql/hell.txt” ]; thenrm -f /var/lib/mysql/hell.txtecho “delete /var/lib/...

Global site tag (gtag.js) - Google Analytics