shell中case的用法学习笔记
来源:互联网 发布:centos php5.6 lamp 编辑:程序博客网 时间:2024/05/01 04:45
这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
本文转自:http://www.jbxue.com/article/4314.html
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 # www.jbxue.com
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用法
- Linux shell case 学习笔记
- shell Learning [case 的基本用法]
- shell脚本关于case的用法
- sql中CASE的用法
- sql中CASE的用法
- sql中CASE的用法
- sql中CASE的用法
- SQL中case的用法
- sql中case的用法
- sql中CASE的用法
- sqlserver 中 case 的用法
- SQL中CASE的用法
- ORACLE中CASE的用法
- SQL中CASE的用法
- SQLServer中Case的用法
- Oracle 中 case的用法
- 看懂SqlServer查询计划
- 网站建设与SEO--1,网站建设的初始准备
- 练习赛5.昆虫繁殖
- perror实现分析(2.0: 具体实现)
- 如何实现一个文件系统(六)
- shell中case的用法学习笔记
- hdu1215七夕节 筛素数+素因子分解+乘法公式
- spring集成Junit4配置
- BUS_ATTR(....)基础意义
- ubuntu 11.04的启动流程(启动服务的配置)
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取"产品付费数量等于0的问题"】
- linux bash shell中case语句的实例
- 2011斯坦福大学iOS应用开发教程学习笔记(第三课)Objective-C