2016-08-18博客作业

case 语句

条件判断语句

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默认分支

;;

esac

 

case 支持glob 风格的通配符:

*       任意长度任意字符

?       任意单个字符

[]       指定范围内的任意单个字符

a|b   ab

 

例子:

/root/bin/testSelect.sh

#!/bin/bash

 

PS3="what do you want?"

select menu in aaa bbb ccc

do

  case $menu in

  aaa)

  echo "aaa 10$"

  echo $REPLY

  break

  ;;

 

  bbb)

  echo "bbb 20$"

  echo $REPLY

  break

  ;;

 

  ccc)

  echo "ccc 30$"

  echo $REPLY

  break

  ;; 

 

  *)

  echo "other 100$"

  echo $REPLY

  break

  ;;

 

  esac

 

done






select 循环与菜单

select variable in list

do

循环体命令

done

 

select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示 PS3  提示符,等待用户输入

用户输入菜单列表中的某个数字,执行相应的命令

用户输入被保存在内置变量 REPLY 中。

 

select 是个无限循环,因此要记住用 break 命令退出循环,或用 exit 命令终止脚本。也可以按 ctrl+c退出循环。

select 经常和 case 联合使用与 for循环类似,可以省略 in list,此时使用位置变量

 

例子:

[root@localhost bin]# cat testSelect2.sh

#!/bin/bash

 

PS3="what do you want?"

select menu

do

  case $menu in

  aaa)

  echo "aaa 10$"

  echo $REPLY

  echo $1

  break

  ;;

 

  bbb)

  echo "bbb 20$"

  echo $REPLY

  echo $2

  break

  ;;

 

  ccc)

  echo "ccc 30$"

  echo $REPLY

  echo $3

  break

  ;; 

 

  *)

  echo "other 100$"

  echo $REPLY

  break

  ;;

 

  esac

 

done

blob.png

原创文章,作者:songzizhe,如若转载,请注明出处:http://www.178linux.com/40261

(0)
songzizhesongzizhe
上一篇 2016-09-19 13:49
下一篇 2016-09-19 13:49

相关推荐

  • LAMP组合的编译安装(apache2.4+mariadb5.5+php5.6)

    安装次序 httpd, MariaDB, php 安装apache2.4 [root@root ~]# yum groupinstall "Development Tools" "Server Platform Develoment "&n…

    Linux干货 2016-06-29
  • Linux Cluster讲解

    什么是集群     集群是一组的、通过高速的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。     和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统…

    Linux干货 2016-11-07
  • 22期第三周课堂作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who |cut -d" " -f 1 |uniq     2、取出最后登录到当前系统的用户的相关信息。 […

    Linux干货 2016-08-29
  • N26 – 第三周作业

    1、列出当前系统上所有已登录的用户的用户名,同一用户登录多次只显示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登录到当前系统的用户的相关信息     ~]#id $(last | h…

    Linux干货 2017-01-03
  • day6作业

    1、创建用户gentoo,附加组为bin和root,默认shell为 /bin/csh,注释信息为"Gentoo Distribution"     2、创建下面的用户、组和组成员关系 名字为admins 的组 用户natasha,使用admins …

    系统运维 2016-08-08
  • MySQL/MariaDB基础性知识及DDL操作详解

    前言 MySQL/MariaDB是一个开放源码的小型关联式数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL/MariaDB作为网站数据库。 基础架构 MySQL核心组件 连接池:认证、线程重用、连接数限制、内存检查、缓存 SQL接口:DDL, DML, 关系型数据库的基本抽…

    Linux干货 2015-05-07