shell编程之select循环用法
2018-02-19 14:47
218 查看
在前面的文章中已经有了一个菜单脚本,那么实现的方法是使用的cat方法.称为(here文档),在这里给大家介绍另外一种方法,那么就是今天的select循环
select循环呢,主要用于创建菜单,那么语法如下:#!/bin/bash
select 变量名 in [ 菜单列表]
do
指令1....
done1、使用select循环,答应简单菜单项的多种实现方法#!/bin/bash
select name in yankerp zhangsan lisi wangwu xiaoliu
do
echo $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
do
echo $name
done以上使用了PS3 就是来控制select循环的提示符 输出如下:
![](http://img.blog.csdn.net/20180219142706641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzk1OTE0OTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
select循环基本用法如下:#!/bin/bash
. /etc/init.d/functions
ROOT=0
path=/usr/local/src
if [ "$UID" -ne $ROOT ];then
action "请您使用root用户..." /bin/false
exit 1
fi
function main(){
PS3=`echo "请您输入你想安装的服务:"`
select var in "[install Apache]" "[install Nginx]" "[install LNMP]"
do
case "$var" in
"[install Apache]")
echo 开始安装Apache!
;;
"[install Nginx]")
echo 开始安装Nginx!
;;
"[install LNMP]")
echo 开始安装LNMP
;;
esac
done
}
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那样的方式,可能是个人习惯吧。
本次就分享到这里吧,希望对您有所帮助
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif)
select循环呢,主要用于创建菜单,那么语法如下:#!/bin/bash
select 变量名 in [ 菜单列表]
do
指令1....
done1、使用select循环,答应简单菜单项的多种实现方法#!/bin/bash
select name in yankerp zhangsan lisi wangwu xiaoliu
do
echo $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
do
echo $name
done以上使用了PS3 就是来控制select循环的提示符 输出如下:
select循环基本用法如下:#!/bin/bash
. /etc/init.d/functions
ROOT=0
path=/usr/local/src
if [ "$UID" -ne $ROOT ];then
action "请您使用root用户..." /bin/false
exit 1
fi
function main(){
PS3=`echo "请您输入你想安装的服务:"`
select var in "[install Apache]" "[install Nginx]" "[install LNMP]"
do
case "$var" in
"[install Apache]")
echo 开始安装Apache!
;;
"[install Nginx]")
echo 开始安装Nginx!
;;
"[install LNMP]")
echo 开始安装LNMP
;;
esac
done
}
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那样的方式,可能是个人习惯吧。
本次就分享到这里吧,希望对您有所帮助
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif)
相关文章推荐
- Shell编程中select用法
- Shell编程之for和select循环
- select循环的用法举例
- shell编程中for,while,util,case,select,break, continue用法详解
- Linux中shell编程的for循环用法
- for循环、while循环、continue、break、exit解析、select用法
- shell编程中的select用法
- select循环与菜单的用法
- mysql select简单用法
- struts2的select标签用法实例分析
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常【转载】
- select 模糊匹配 like用法详解
- SHOpenFolderAndSelectItems的用法
- 简单小结下bootstrap的select下拉框和alert对话框用法
- Shell编程之Shift的用法
- Xml中SelectSingleNode方法中的xpath用法
- Mybatis 中Criteria,selectByExample()的用法:用userID查记录列表
- select into from 和 insert into select 的用法和区别(转)
- dedecms循环输出时limit用法
- 开发中select下拉框的用法总结