码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本中select的应用

时间:2015-12-16 17:34:59      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:shell linux select

select也是循环的一种,它比较适合用在用户选择的情况下。

比如,我们有一个这样的需求,运行脚本后,让用户去选择数字,然后执行命令!

#!/bin/bash
select mysql_v in 5.1 5.6
do
case $mysql_v in
5.1)
echo "you choose the 5.1"
#break                                        /break这行被注释掉了 
;;
5.6)
echo "you choose the 5.6"
#break                                       /break这行被注释掉 
;;
esac
done

然后执行此脚本

[root@xinlianxi sbin]# sh 3.sh
1) 5.1
2) 5.6
#? 1
you choose the 5.1
#? 2
you choose the 5.6
#? 1
you choose the 5.1
#? 1
you choose the 5.1
#? 2
you choose the 5.6
#? 2
you choose the 5.6
#?              /会发现,只要不停的选择就会继续执行下去,而不会退出!

在脚本中加入break行:

#!/bin/bash
select mysql_v in 5.1 5.6
do
case $mysql_v in
5.1)
echo "you choose the 5.1"
break                              /break未被注释 
;;
5.6)
echo "you choose the 5.6"
break                              /break未被注释 
;;
esac
done

再次执行此脚本:会发现每次选择完,执行之后就会退出,select实际上也是一个循环,break的作用就是退出循环!

[root@xinlianxi sbin]# sh 3.sh
1) 5.1
2) 5.6
#? 1
you choose the 5.1
[root@xinlianxi sbin]# sh 3.sh
1) 5.1
2) 5.6
#? 2                                      /选择是前面的那个“#?”符号是可以修改的,可以用ps3修改,如下脚本 
you choose the 5.6
[root@xinlianxi sbin]# vim 3.sh
#!/bin/bash
PS3="Please select a number: "                         /在脚本中加入此行,再次运行! 
select mysql_v in 5.1 5.6
do
case $mysql_v in
5.1)
echo "you choose the 5.1"
break
;;
5.6)
echo "you choose the 5.6"
break
;;
esac
done
运行结果:
[root@xinlianxi sbin]# sh 3.sh
1) 5.1
2) 5.6
Please select a number: 1
you choose the 5.1


本文出自 “自定义” 博客,请务必保留此出处http://zidingyi.blog.51cto.com/10735263/1724899

shell脚本中select的应用

标签:shell linux select

原文地址:http://zidingyi.blog.51cto.com/10735263/1724899

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!