手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >shell中case的用法学习笔记
shell中case的用法学习笔记
摘要:shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。使用格式:case匹配母板in...

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:

复制代码 代码如下:

#!/bin/bash

FRUIT=$1 #注意没有空格

if [ -z "$1" ] #中括号跟 -z 要有空格

then

echo "没有在第一个参数输入水果"

else

case "$FRUIT" in

apple|APPLE) echo "THE FRUIT is apple";;

banana|BANANA) echo "THE FRULT is banana";;

#可以使用*)来表示默认选项,注意最后要用两个分号来结尾

*) echo "输入的是不是我要的水果啊?";;

esac

fi

#--- $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

【shell中case的用法学习笔记】相关文章:

shell grep 查找进程的小技巧

Shell实现的一些数学运算自定义函数分享

101个shell脚本 猜数字游戏代码

shell for循环与数组应用介绍

shell 随机从文件中抽取若干行的实现方法

Linux shell脚本全面学习入门

Linux Shell脚本系列教程(五):数学运算

Shell编程之Shell变量学习总结

shell脚本编程之循环语句学习笔记

Bash Shell中Shift用法分享

精品推荐
分类导航