case条件判断语句

件判断: case语句

    在shell编程中,对于多分支判断,用if 虽然也可以实现,但有些时候,写起来很麻烦,也不容易代码理解。这个时候,可以考虑case。

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默认分支

;;

esac


case语句结构特点如下:

case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。

双分号“;;”表示命令序列结束。

匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。

“|”分割多个模式,相当于or

最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。

 

脚本代码

[root@localhost bin]# cat chatype.sh 
#!/bin/bash
# Description: Determine the type of input character
 
read -p "Please enter a character: " char
case $char in
[A-Z])
   echo "Input is capital letters."
   ;;
[a-z])
   echo "Input is lowercase letter."
   ;;
[0-9])
   echo "Input is digital."
   ;;
*)
   echo "Input is other char."
   ;;
esac

执行结果

[root@localhost bin]# chatype.sh 
Please enter a character: a
Input is lowercase letter.
[root@localhost bin]# chatype.sh 
Please enter a character: N
Input is capital letters.
[root@localhost bin]# chatype.sh 
Please enter a character: 3
Input is digital.
[root@localhost bin]# chatype.sh 
Please enter a character: %
Input is other char.
[root@localhost bin]# chatype.sh 
Please enter a character: !
Input is other char.


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

(0)
cyh5217cyh5217
上一篇 2016-08-16
下一篇 2016-08-16

相关推荐

  • 20171121 grep 正则表达式

    diff与patch ,grep 正则表达式

    2017-11-21
  • SElinux管理

                                                      &nbsp…

    系统运维 2016-09-26
  • 网络管理,程序管理

    lsmod |grep bond0 ifconfig bond0 down 关闭bonding服务 rmmod bonding  删除 bonding 服务 lsmod |grep eth1000 查看  lsmod指令,会列出所有已载入系统的模块 rmmod  删除内核中的一模块  查找网卡驱动e1000 rmmod…

    Linux干货 2016-09-11
  • UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

    类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。 3) 类的属性…

    Linux干货 2015-04-07
  • LVS-几种负载方式的区别

    LVS的原理很重要,很重要。每一个知识点都要做到熟记与脑,谨记于心,张口就来。 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 使用集群技术和Linux操作系统实现一个高性能、高可用的服务器. 很好的可伸缩性(Scal…

    Linux干货 2017-05-11
  • Linux软件包管理

    一、rpm包管理工具 1、rpm包简介 rpm是redhat的软件包管理器。rpm包管理器全称rpm: Redhat Package Manager RPM  Package Manager。它的软件包后缀也为.rpm。除此外,debian,deb文件有dpkg包管理器。 rpm包的命名方式: 源代码:name-version.tar.{gz|bz…

    Linux干货 2016-08-21