shell中的case语句:
可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。
例1:
#!/bin/sh
echo "Please input "yes" or "no""
read var
case "$var" in
[yY][eE][sS] ) echo "Your input is YES" ;;
[nN][oO] ) echo "Your input is no" ;;
* ) echo "Input Error!" ;;
esac
exit 0
例2:
#--- $1既是外部传参的值,如:运行该脚本的时候:./test.sh apple
#---此处apple既是$1
附另外一个示例:
#!/bin/bash
HOSTS=" nss.sh cs.sh SS.sh ds_handler2 tomcat blog httpd "
for myHost in $HOSTS
do
count=(`ps aux |grep -v grep |grep $myHost |wc -l`)
echo $myHost
echo $count
done
您可能感兴趣的文章:
bash shell中case语句的例子
分享一个shell for循环+case的脚本(监控程序状态)
shell脚本case条件控制语句的一个bug