shell编程——select语句

8人阅读 评论(0) 收藏 举报
分类:
  select 表达式是一种bash的扩展应用,动作包括:
   自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单
   自动read输入选择 (没有 read指令,自动输入
   赋值给变量 (没有赋值指令,自动输入数字后,赋值字符串给变量

   select典型例子
[macg@machome ~]$ vi test.sh

echo "What is your favourite OS?"

select var in "Linux" "Gnu Hurd""Free BSD" "Other";
do
break           select本身就是一个循环,break是当选择后,就跳出循环
done

echo "You have selected $var"
[macg@machome ~]$ sh test.sh

What is your favourite OS?

1) Linux
2) Gnu Hurd
3) Free BSD
4) Other
#? 2

You have selected GnuHurd   Select输入选择是数字,但变量值却是字符串


虽然select本身就是循环,但不建议用他的循环,因为select虽然循环却不再显示菜单,只循环输入所以seleckt语句干脆直接用break,只执行一次,在其上另配while循环

while echo "display current netconfig:"
do

select vi in "ifconfig -a" "hosts" "netmasks" "quit"
do

case $viin     虽然输入是1,2,3,4,5,但case变量输入值却是菜单项(字符串)
"ifconfig -a")  /sbin/ifconfig -a;;
"hosts") more hosts;;
"netmasks") more netmasks;;
"quit") return 0;;
*) continue;;
esac

break   
done

done 
$ sh test
display current netconfig
1) ifconfig-a     3)netmasks       
2)hosts           4) quit 


补充:

select 语句

select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择:

select var in ... ; do
 break;
done
.... now $var can be used ....

下面是一个简单的示例:

#!/bin/bash

echo "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do
  break;
done
echo "You have selected $var"

该脚本的运行结果如下:

What is your favourite OS?
1) Linux
2) Gnu Hurd
3) Free BSD
4) Other
#? 1
You have selected Linux

-------------------------------------------------------------------------------------------------

运行时出现:

select.sh: 3: select: not found

select.sh: 5: Syntax error: "done" unexpected

把#!/bin/sh改为#!/bin/bash

执行脚本时将sh select.sh改为 bash select.sh

 

千里之行,始于足下。改变现在,就是改变未来。改变未来,从现在开始。 个人网站:http://www.wangkongming.cn
企业网站:http://www.hlbaozhuangji.cn/

出处:https://blog.csdn.net/hunanchenxingyu/article/details/43616739
查看评论

shell编程——流控制case和select

在shell编程里有时候需要出现交换界面,让使用者来选择要执行的功能,如下面所示,这时候就需要用到case和select进行配合请选择功能: 1) 退出 2) 系统升级 3) 防火墙配置 4) tom...
  • u010917843
  • u010917843
  • 2015-05-24 14:52:11
  • 894

shell编程——select语句东子破解

select 表达式是一种bash的扩展应用,动作包括: 自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单) 自动read输入选择 (没有 read指令,自动输入) 赋值给变量 (...
  • vipyhd
  • vipyhd
  • 2012-08-13 13:35:52
  • 4056

SELECT 语句的例子

  • 2009年03月27日 21:05
  • 34KB
  • 下载

sql之select语句

  • 2010年12月29日 21:01
  • 153KB
  • 下载

Shell编程中select用法

select提供了一个构建交互式菜单程序的方式, 语法结构: select name [ in word ] ; do list ; done例:#!/bin/bash select i in a ...
  • lxbwolf
  • lxbwolf
  • 2017-09-05 16:18:03
  • 298

shell编程-流程控制-if语句

1. 单分支if条件语句单分支if条件语句有三种写法:if [ 条件判断式 ]; then 操作 fi或者if [ 条件判断式 ] then 操作 fi或者if [ 条件判断式 ...
  • lamp_yang_3533
  • lamp_yang_3533
  • 2017-06-07 15:20:27
  • 175

linux shell编程 if else 语句,case语句

if-else语句 #ifelse2.sh #判断两个参数的大小 #!/bin/bash if [ $1 -ge $2 ]  then     echo "$1>=$2"  else     echo...
  • qq_21808961
  • qq_21808961
  • 2017-10-23 16:32:46
  • 197

【Linux】Shell编程之条件判断

1.按文件类型判断例子: test -e /root/install.log 或 [-e /root/install.log]2.按文件权限判断3.两个文件之间判断...
  • ww1473345713
  • ww1473345713
  • 2016-05-18 10:48:01
  • 160

Shell编程-流程控制-case语句

  • 2014年08月21日 15:14
  • 446KB
  • 下载

SELECT语句使用大全

  • 2010年07月09日 11:58
  • 50KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 2805
    排名: 1万+
    文章存档