shell中case的用法学习笔记
2013-11-07 00:00
681 查看
shell中的case语句:
可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。
例1:
例2:
#--- $1既是外部传参的值,如:运行该脚本的时候:./test.sh apple
#---此处apple既是$1
附另外一个示例:
可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
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中case的用法学习笔记
- shell中case的用法学习笔记
- shell学习-case用法
- linux学习第六十四篇:Shell脚本中的逻辑判断,文件目录属性判断, if特殊用法,case判断
- shell脚本学习笔记之sed命令用法
- shell脚本学习笔记之grep命令用法
- shell脚本编程之case语句学习笔记
- 【shell学习笔记】反引号和expr的用法
- shell read用法分析_学习笔记
- shell脚本编程之case语句学习笔记
- shell脚本学习笔记 (sed的高级用法----模式空间和保持空间)
- 学习笔记:shell 下 符号 [`],[""], [''], [$] 用法
- 写得蛮好的linux学习笔记(压缩命令,vi一般用法,认识SHELL,正规表示法)
- 学习笔记: shell 中的 set -e , set +e 用法
- [MySQL学习笔记]case when then else end用法
- 学习笔记: shell 中的 set -e , set +e 用法
- shell脚本学习笔记之常见语法结构用法
- Shell脚本学习笔记(一)--预备知识
- shell学习之-sed用法解析