条件判断: 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