成功最有效的方法就是向有经验的人学习!

shell编程之select循环用法

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

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

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

1、使用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循环的提示符 输出如下:

shell编程之select循环用法

shell编程之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

 

赞(0) 打赏
未经允许不得转载:陈桂林博客 » shell编程之select循环用法
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册