shell脚本中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

然后执行此脚本

[[email protected] 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的作用就是退出循环!

[[email protected] sbin]# sh 3.sh
1) 5.1
2) 5.6
#? 1
you choose the 5.1
[[email protected] sbin]# sh 3.sh
1) 5.1
2) 5.6
#? 2                                      /选择是前面的那个“#?”符号是可以修改的,可以用ps3修改,如下脚本 
you choose the 5.6
[[email protected] 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
运行结果:
[[email protected] sbin]# sh 3.sh
1) 5.1
2) 5.6
Please select a number: 1
you choose the 5.1
时间: 2024-10-05 09:13:25

shell脚本中select的应用的相关文章

[转]Shell脚本中获取SELECT结果值的方法

有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的. 点击(此处)折叠或打开 #!/bin/ksh # # Created : 2015.05.25 # Updated : 2015.05.25 # Author : Jet Chenxi Zhang # Description : Get SELECT result in Shell # Variable Definitions # ORACLE_SID=audte

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例. 一.由shell脚本调用sql,rman脚本 [python] view plain copy print? 1.shell脚本调用sql脚本 #首先编辑sql文件 [email protecte

Shell脚本中执行sql语句操作

这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中.命令行调用单独的SQL文件.使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到sh

Shell脚本中执行mysql语句

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 --演示环境 [[email protected] ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \m   [e

Shell脚本中执行mysql的几种方式(转)

Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [[email protected] ~]# more /etc/issue   CentOS rele

shell脚本中执行mysql语句的方法

方法一:使用文件标签EOF重定向的方法的: #!/bin/bash  user=root  pass=123456  db=mysql  tablename=user  mysql -s --line-numbers -f -u$user -p$pass -D $db --delimiter=";" -E<  --SELECT host,user from $tablename order by 1;  SELECT host,user from $tablename order

[转帖]Shell脚本中的break continue exit return

Shell脚本中的break continue exit return 转自:http://www.cnblogs.com/guosj/p/4571239.html break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一个整数给系统,如 exit 0 return在函数中将数据返回或返回一个结果给调用函数的脚本 我理解为:break是立马跳出循环:continue是跳出当前条件循环,继续下一轮条件循环:exit是直接退出整

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种: