shell中case的用法学习笔记

这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。

本文转自:

shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。

使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 语句组 ;;模板3 [ | 模板4 ] … ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,,可能将模板写成*,就可以完成相同的功能。

例1:

复制代码代码如下:

#!/bin/shecho “Please input \”yes\” or \”no\””read varcase “$var” in[yY][eE][sS] ) echo “Your input is YES” ;;[nN][oO] ) echo “Your input is no” ;;* ) echo “Input Error!” ;;esacexit 0

例2:

复制代码代码如下:

#!/bin/bashFRUIT=$1 #注意没有空格if [ -z “$1” ] #中括号跟 -z 要有空格thenecho “没有在第一个参数输入水果”else # case “$FRUIT” inapple|APPLE) echo “THE FRUIT is apple”;;banana|BANANA) echo “THE FRULT is banana”;;#可以使用*)来表示默认选项,注意最后要用两个分号来结尾*) echo “输入的是不是我要的水果啊?”;;esacfi

#— $1既是外部传参的值,如:运行该脚本的时候:./test.sh apple#—此处apple既是$1

附另外一个示例:

复制代码代码如下:

#!/bin/bashHOSTS=” nss.sh cs.sh SS.sh ds_handler2 tomcat blog httpd “for myHost in $HOSTSdocount=(`ps aux |grep -v grep |grep $myHost |wc -l`)echo $myHostecho $countdone

从起点,到尽头,也许快乐,或有时孤独,

shell中case的用法学习笔记

相关文章:

你感兴趣的文章:

标签云: