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

相关推荐

  • 07程序包管理器简介

    源代码命名方式,name-version.tar.gz|bz2|xz,    –>version:major.minor.release 要将一个源代码程序安装到Linux系统上,一般有两个方法。 1、找到源代码,手动编译安装。解压,./configure  –> make –&g…

    Linux干货 2016-11-03
  • 磁盘管理及文件系统

    磁盘及文件系统管理初步与进阶(重点内容) 磁盘分区及文件系统 linux系统管理 磁盘分区及文件系统管理:分区工具 linux磁盘及文件系统管理 整个操作系统的硬件组成部分,最底层是硬件设备,计算能力得以运行的最根本的基础。 计算机的五大基本部件:cpu,运算器,控制器被整合到一起,由一个硬件部件来提供。 存储器(主存rom可编址的存储单元)。主板上有cpu…

    Linux干货 2016-08-30
  • Windows和Linux关于一块网卡绑定多个网络地址的解决之道

    Windows和Linux关于一块网卡绑定多个网络地址的问题解决之道   在不同场合用不同ip地址访问网络,而且都是固定ip。是一件很头疼的问题。不过,Windows和Linux系统都提供了解决方法。接下来我们先谈Windows系统下操作,再说Linux如何操作。 一、Windows设置   1. 我以Windows7为例,首先鼠标左键点击你电脑左下角有网络…

    Linux干货 2016-09-07
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干货 2016-12-13
  • 学习标准I/O和管道的心得体会

    重定向、标准输出、标准输入、标准错误、管道的命令整理

    2017-11-20
  • 98-mysql数据备份

    一. 数据备份基础知识

    2016-11-20