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 ... ; dobreak;
done
.... now $var can be used ....

下面是一个简单的示例:

#!/bin/bashecho "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; dobreak;
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编程——select语句相关推荐

  1. Linux _ Shell编程 — 循环语句

    Linux _ Shell编程 - 循环语句 一.循环语句for的用法 二.循环语句while的用法 三.循环控制语句 一.循环语句for的用法 for 变量名 in 单词表do命令表done 变量依 ...

  2. Linux _ Shell编程 — 功能语句

    Linux _ Shell编程 - 功能语句 一.说明性语句 二.常用功能性语句 1.常用功能性语句(read命令) 2.expr命令 三.结构性语句 条件测试语句 字符串测试 整数测试 文件的测试 ...

  3. shell 编程条件语句实验

    一*,shell 编程条件语句* 要使 Shell 脚本程序具备一定的"智能",面临的第一个问题就是如何区分不同的情况以确定执行何种操作. Shell 环境根据命令执行后的返回状态 ...

  4. shell编程入门、shell编程的基础知识(变量、命令、运算)、shell编程的语句

    shell编程 示例1 ex1 文件内容如下: #!/bin/sh #This is to show what a example looks like. echo "My First Sh ...

  5. shell 编程 判断语句参数

    shell 编程中使用到得if语句内判断参数–b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathn ...

  6. linux shell编程if语句内判断参数详解【ZT】

                  shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目 ...

  7. linux select shell,linux之shell编程select和case用法

    shell里的select用法: 语法:#i/bin/bash select 变量 in 列表 do 要执行的语句 done 举例: #!/bin/bash echo "What is yo ...

  8. Linux从入门到精通系列之SHELL编程循环语句语法及实例详解(forwhileuntil)

    前言 Shell作为一种脚本编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂.强大的功能.我们今天就来认识for.while.case语句的具体应用. 插个小广告吧,虽然我 ...

  9. shell编程——if语句(if -z -n -f -x -eq -ne -lt -a -o)

    shell流程控制与其他语言有一点不同就是它的流程控制不可为空,即else分支没有语句执行,就不要写这个else.本文介绍if语法使用方法.特殊文本表达式-z -n -f -eq -ne -lt等及s ...

  10. Linux;shell编程while语句

    while 语句 shell中有三种用于循环的语句,即while.for 和until语句. while语句的一般形式如下: while测试条件; do命令表; done 或者 while测试条件 d ...

最新文章

  1. 《预训练周刊》第36期: 谷歌提出梯度最大化增长方法GradMax
  2. XE5 Android 开发数据访问手机端 解决乱码的办法
  3. 明年的方向是JAVA+SAP
  4. vnc数量限制_通过限制视觉效果在Vista上加速VNC
  5. Android官方开发文档Training系列课程中文版:线程执行操作之线程间通讯
  6. RabbitMQ的5种队列_路由模式_入门试炼_第8篇
  7. 深入了解Debug和Release的区别
  8. [Spring+Hibernate系列]2.项目介绍与首个MVC实例
  9. [代码]--GridControl使用技巧总结,更新中...
  10. centos7远程访问mysql数据库_CentOS7下安装mysql最快捷方式及mysql远程访问连接实现详解...
  11. SQL反模式学习笔记1 开篇
  12. Linux内核源码总体介绍—1
  13. 开源3D游戏引擎Irrlicht简介
  14. 如何查看MacBook Pro硬盘序列号
  15. 华硕鹰眼ZenFone Zoom推动潮流:比肩专业相机几率几何?
  16. 解锁iPhone密码锁?
  17. JavaScript的循环
  18. 渲大师携手向日葵,远控赋能云渲染及GPU算力服务
  19. 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
  20. [日语二级词汇]日语二级必会汉字总结2

热门文章

  1. 052试题 97 - SQL*Loader Direct Path and Conventional Path
  2. html常用标签和属性
  3. 想当年我拿着两把西瓜刀……
  4. MySQL数据库(初识数据库)
  5. 十分钟超简单完成百度地图3.0离线功能
  6. 群晖docker火狐_群晖docker安装chrome浏览器_动漫台
  7. IKEv2的密钥计算方式
  8. 闲置电脑挂机赚钱-Traffmonetizer,支持windows,linux,Android,MacOS多平台
  9. 定义一个图形抽象类,完成三角形、圆形、矩形的周长和面积计算
  10. 蓝牙音箱电路板原理图_一种蓝牙音箱电路板的制作方法