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 13:59
下一篇 2016-08-16 17:37

相关推荐

  • Bash快捷键

    Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾Ctrl + w :…

    Linux干货 2017-03-26
  • Linux学习总结&day07-正则表达式&文本处理工具

    第一部分、正则表达式     1、什么是正则表达式     正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易的达到查找、删除、替换某特定字符串的处理程序。     正则表…

    Linux干货 2016-08-08
  • MySQL架构

    1.MySQL整体逻辑架构 我们先下图看看MySQL整体逻辑架构(MySQL’s Logical Architecture)                       图1  第一层,即最上一层,所包含的服务并不是MySQL所独有的技术。…

    Linux干货 2015-04-13
  • Homework week-5 grep及find

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep -E "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep&nbsp…

    Linux干货 2016-09-06
  • 测试

    3、查询file.txt以abc结尾的行grep "abc$" file.txt4、删除file.txt文件中的空行grep -v '^$' file.txt > file.txtsed '/^$/d' file.txt > file.txt(覆盖重定向文件变为空该文件为空,但是追加时正常成功。…

    Linux干货 2016-06-12
  • 网络班N27 第四周作业

    1、 复制/etc/skel目录为/home/tuserl,要求/home/tuserl及其内部文件的属组和其他用户均没有任何访问权限。 [root@ ~]# cp -r /etc/skel /home/tuserl [root@ ~]# chmod -Rv 700 /home/tuserl/ mode of ‘/home/tuserl/’ changed …

    Linux干货 2017-08-19