2016-08-18博客作业

case 语句

条件判断语句

case 用 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

…

*)

默认分支

;;

esac

 

case 支持glob 风格的通配符:

*       任意长度任意字符

?       任意单个字符

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

a|b   a或b

 

例子:

(/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

相关推荐

  • 正则 grep查找find(xargs)练手

    1、显示当前系统上root、fedora或user1用户的默认shell; ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); ~]# gre…

    Linux干货 2016-10-24
  • 马哥教育网络班19期第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cd:切换目录命令实例  cd [dirctory] 切换目录  cd .. 返回上一级目录  cd –  来回切换  cd ~  切换到家目…

    Linux干货 2016-06-19
  • N26 第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 思路:    首先使用 who 查看当前系统上所有已经登录的用户,然后用 cut 或 awk 截取用户名,最后使用 sort 或 unqi 去除重复信息。命令:    who | cut -d’ ‘ -f1 …

    Linux干货 2017-02-25
  • Shell脚本编程

    Shell脚本编程 关于脚本的调试     bash -n /path/to/some_script                   &…

    Linux干货 2016-08-15
  • Centos7上利用corosync+pacemaker+crmsh构建高可用集群

    一、高可用集群框架 资源类型:     primitive(native):表示主资源     group:表示组资源,组资源里包含多个主资源     clone:表示克隆资源     master/…

    Linux干货 2016-05-29
  • Linux的哲学思想和文件系统

    Linux的哲学思想 Linux是一个自由的操作系统,其内部也有着自己独特的一些特定的规则,就是我们所说的关于Linux的哲学思想。 Linux系统的哲学思想 1.一切皆文件:Linux系统把几乎所有的系统资源全部都抽象为文件形式,包括硬件设备,甚至通信的接口都是以文件形式存在的。 2.Linux系统是由许许多多的小程序组成的,这些小程序的功能性单一,组合这…

    Linux干货 2016-11-01