在前面的文章中已经有了一个菜单脚本,那么实现的方法是使用的cat方法.称为(here文档),在这里给大家介绍另外一种方法,那么就是今天的select循环

select循环呢,主要用于创建菜单,那么语法如下:

#!/bin/bash
select 变量名 in [ 菜单列表]
do指令1....
done

1、使用select循环,答应简单菜单项的多种实现方法

#!/bin/bash
select name in yankerp zhangsan lisi wangwu xiaoliu
doecho $name
done

剖析:在以上这个脚本中我们使用了select循环,那么如下:

select name in xxx    在这里的name就是一个变量 那么in 后面的就是取值列表

do

            echo $name    那么这里就是输出name变量的值 那么如下:

done

[root@shell-yankerp ~]# sh select.sh
1) yankerp   这里就是菜单
2) zhangsan
3) lisi
4) wangwu
5) xiaoliu
#? 1        #下面的是选项,那么如果输入1 那么就打印yankerp 以此类推
yankerp
#? 2
zhangsan
#? 3
lisi
#? 4
wangwu
#? 5
xiaoliu
#? 6      #如果输入的是错误的,那么就是输出空.....

通过以上例子,我们发现它的提示符并不是很美丽,默认是#?   那么在以下的实例中,来修改 如下:

#!/bin/bash
PS3="please select a num from menu:"
select name in yankerp zhangsan lisi wangwu xiaoliu
doecho $name
done

以上使用了PS3 就是来控制select循环的提示符 输出如下:

select循环基本用法如下:

#!/bin/bash
. /etc/init.d/functions
ROOT=0
path=/usr/local/src
if [ "$UID" -ne $ROOT ];thenaction "请您使用root用户..." /bin/falseexit 1
fifunction main(){PS3=`echo "请您输入你想安装的服务:"`select var in "[install Apache]"     "[install Nginx]"     "[install LNMP]"docase "$var" in"[install Apache]")echo  开始安装Apache!;;"[install Nginx]")echo 开始安装Nginx!;;"[install LNMP]")echo 开始安装LNMP;;esacdone
}
main

输出如下:

[root@shell-yankerp yankerp]# sh select.sh
1) [install Apache]
2) [install Nginx]
3) [install LNMP]
请您输入你想安装的服务:1
开始安装Apache!
请您输入你想安装的服务:2
开始安装Nginx!
请您输入你想安装的服务:3
开始安装LNMP
请您输入你想安装的服务:4

其实select就是用于菜单选项的一些脚本,不过我个人还是喜欢用cat那样的方式,可能是个人习惯吧。

本次就分享到这里吧,希望对您有所帮助

select循环用法相关推荐

  1. linux脚本打印循环次数,shell脚本编程基础(3)——循环用法

    本节索引: 一.if.case条件判断 二.for.while及until循环 三.循环控制语句continue.break.shift及select菜单 四.信号捕捉trap 在前面的基础编程内容中 ...

  2. tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum...

    tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 t ...

  3. linux c语言 select函数用法

    原文地址:点击打开链接 linux c语言 select函数用法 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 co ...

  4. 20. select循环与菜单,select语法,select示例

    文章目录 前言 select语法 示例 总结 友情链接 前言 select表达式是bash的一种扩展应用,擅长于交互式场合.用户可以从一组不同的值中进行选择,使用select流程控制.在select执 ...

  5. mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  6. golang select关键字用法

    select是go语言中常用的一个关键字,其用法也一直被用作面试题来考核应聘者.今天,结合代码来分析下select的主要用法. 首先,我们来从官方文档看一下有关select的描述: A "s ...

  7. csh for循环_shell中的for循环用法详解_linux shell

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 for 命令: for i i ...

  8. VTK:隐式选择循环用法实战

    VTK:隐式选择循环用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkClipPolyData.h> #include <vtkImplicit ...

  9. SQL语句 SELECT LIKE用法详解

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

最新文章

  1. 20160722noip模拟赛alexandrali
  2. Template methed
  3. JWT 实现微服务鉴权
  4. 解码(六):sws_scale像素格式转换代码演示
  5. EIGRP passive-interface
  6. JSON中JObject和JArray,JValue序列化(Linq)
  7. Windows+Ubuntu 搭建私有云桌面服务
  8. 中报行情 锁定四大板块8只高送转潜力股 2011-7-9
  9. 数据库中间件DBLE学习(一) 基本介绍和快速搭建
  10. WY-2000B空气质量检测系统
  11. 承认你的父母其实不那么爱你
  12. ERROR 2002 (HY000): Cant connect to local MySQL server through socket的解决方法
  13. 互联网时代,传统企业如何做引流拓客?
  14. 原来证件照还可以这样拍?美炸了!再也不怕证件照丑到家了!
  15. 如何比较两个内容相似的Word文档
  16. 不能拖动CAD文件到CAD窗口打开,解决方案
  17. 自己做项目时整理的上传Excel表格
  18. python as f是什么意思_Python中 with open(file_abs,'r') as f: 的用法以及意义
  19. WV.16- 编程题AB-第二价格密封拍卖
  20. 优盘安装OpenThos操作系统OTO

热门文章

  1. python画一片树叶
  2. 通俗易懂解释《什么是数据倾斜?》
  3. word圆圈中加入加号或者乘号
  4. java 两个大括号_Java中的双大括号初始化
  5. 关于使用KEPWARE 链接OMRON PLC 的心得
  6. Java StringTokenizer示例
  7. 报错 kernel:NMI watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [insmod:55902]处理
  8. 解决flash背景透明问题
  9. JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)
  10. Linux改变图片大小的命令,Linux运维知识之linux下使用convert命令修改图片分辨率...