OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4083|回复: 0

Linux Shell系列教程之(十四) Shell Select教程

[复制链接]

132

主题

340

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1036
金钱
1036
注册时间
2017-10-30
在线时间
163 小时
发表于 2018-9-7 16:38:07 | 显示全部楼层 |阅读模式
  Select 搭配 case来使用,可以完成很多复杂的菜单控制选项。
  select和其他流控制不一样,在C这类编程语言中并没有类似的语句,今天就为大家介绍下Shell Select语句的用法。
  一、Shell Select语句语法
  Shell中Select语句的语法如下所示:
  select name [in list ]
  do
  statements that can use $name...
  done
  说明:select首先会产生list列表中的菜单选项,然后执行下方do…done之间的语句。用户选择的菜单项会保存在$name变量中。
  另外:select命令使用PS3提示符,默认为(#?);
  在Select使用中,可以搭配PS3=’string’来设置提示字符串。
  二、Shell Select语句的例子
  还是老样子,通过示例来学习Shell select的用法:
  #!/bin/bash
  #Author:linuxdaxue.com
  #Date:2016-05-30
  #Desc:Shell select 练习
  PS3='Please choose your number: ' # 设置提示符字串.
  echo
  select number in "one" "two" "three" "four" "five"
  do
  echo
  echo "Your choose is $number."
  echo
  break
  done
  exit 0
  说明:上面例子给用户呈现了一个菜单让用户选择,然后将用户选择的菜单项显示出来。
  这是一个最基本的例子,主要为大家展示了select的基础用法。当然,你也可以将break去掉,让程序一直循环下去。
  下面是去掉break后输出:
  $./select.sh
  1) one
  2) two
  3) three
  4) four
  5) five
  Please choose your number: 1
  Your choose is one.
  Please choose your number: 2
  Your choose is two.
  Please choose your number: 3
  Your choose is three.
  Please choose your number: 4
  Your choose is four.
  Please choose your number: 5
  Your choose is five.
  然后我们将例子稍稍修改下,加入case…esac语句:
  #!/bin/bash
  #Author:linuxdaxue.com
  #Date:2016-05-30
  #Desc:Shell select case 练习
  PS3='Please choose your number: ' # 设置提示符字串.
  echo
  select number in "one" "two" "three" "four" "five"
  do
  case $number in
  one )
  echo Hello one!
  ;;
  two )
  echo Hello two!
  ;;
  * )
  echo
  echo "Your choose is $number."
  echo
  ;;
  esac
  #break
  done
  exit 0
  这样的话,case会对用户的每一个选项进行处理,然后执行相应的语句。输出如下:
  $./select2.sh
  1) one
  2) two
  3) three
  4) four
  5) five
  Please choose your number: 1
  Hello one!
  Please choose your number: 2
  Hello two!
  Please choose your number: 3
  Your choose is three.
  Please choose your number: 4
  Your choose is four.
  将这些语句进行修改拓展,就可以写出非常复杂的脚本。怎么样,是不是非常强大呢,赶快试试吧!

linux学习交流群:690327559

linux免费学习课程  :

linux基础
http://www.makeru.com.cn/course/details/2058?s=26056

C高级之linux
http://www.makeru.com.cn/course/details/2478?s=26056

linux多线程编程
http://www.makeru.com.cn/course/details/1937?s=26056


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表