case语句适用于需要进行多重分支的应用情况。
case分支语句的格式如下:
case $变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认执行的命令序列 ;;
esac
case语句结构特点如下:
case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。
双分号“;;”表示命令序列结束。
匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后
的命令序列。
case语句实例:由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,
并输出相应的提示信息。
#!/bin/bash
read -p "press some key ,then press return :" KEY
case $KEY in
[a-z]|[A-Z])
echo "It's a letter."
;;
[0-9])
echo "It's a digit."
;;
*)
echo "It's function keys、Spacebar or other ksys."
esac
######################################################
case word in [ pattern [ | pattern ] ... ) list ;; ] ... esac
case/esac的标准用法大致如下:
case $arg in
pattern | sample) # arg in pattern or sample
;;
pattern1) # arg in pattern1
;;
*) #default
;;
esac
arg是您所引入的参数,如果arg内容符合pattern项目的话,那麽便会执行pattern以下的程式码,而该段程式码则以两个分号";;"做结尾。
可以注意到"case"及"esac"是对称的,如果记不起来的话,把"case"颠倒过来即可。
--------------------------------------------------------------------------------
例一 : paranoia
#!/bin/sh
case $1 in
start | begin)
echo "start something"
;;
stop | end)
echo "stop something"
;;
*)
echo "Ignorant"
;;
esac
执行
[foxman@foxman bash]# chmod 755 paranoia
[foxman@foxman bash]# ./paranoia
Ignorant
[foxman@foxman bash]# ./paranoia start
start something
[foxman@foxman bash]# ./paranoia begin
start something
[foxman@foxman bash]# ./paranoia stop
stop something
[foxman@foxman bash]# ./paranoia end
stop something
--------------------------------------------------------------------------------
例二 : inetpanel
许多的daemon都会附上一个管理用的Shell Script,像BIND就附上ndc,Apache就附上apachectl。这些管理程式都是用shell script来写的,以下示一个管理inetd的shell script。
#!/bin/sh
case $1 in
start | begin | commence)
/usr/sbin/inetd
;;
stop | end | destroy)
killall inetd
;;
restart | again)
killall -HUP inetd
;;
*)
echo "usage: inetpanel [start | begin | commence | stop | end | destory | restart | again]"
;;
esac
--------------------------------------------------------------------------------
例三 : 判断系统
有时候,您所写的Script可能会跨越好几种平台,如Linux、FreeBSD、Solaris等等,而各平台之间,多多少少都有不同之处,有时候需要判断目前正在那一种平台上执行。此时,我们可以利用uname来找出系统资讯。
#!/bin/sh
SYSTEM=`uname -s`
case $SYSTEM in
Linux)
echo "My system is Linux"
echo "Do Linux stuff here..."
;;
FreeBSD)
echo "My system is FreeBSD"
echo "Do FreeBSD stuff here..."
;;
*)
echo "Unknown system : $SYSTEM"
echo "I don't what to do..."
;;
esac
相关推荐
8.Shell编程之Case语句及Select综合应用_0.mp4 9.Shell编程之函数及案例分析.mp4 10.Linux下深入编程之函数及数组编程.mp4 11.Shell编程之SED及GREP综合讲解.mp4 12.Shell编程四剑客及案例详解.mp4 13.Linux下自动化...
Linux运维-3.Shell编程-12 shell编程-142case语句.avi
11.1 Shell编程-正则表达式.mp4 11.2.1 Shell编程-字符截取命令-cut命令....11.5.2 Shell编程-流程控制-case语句.mp4 11.5.3 Shell编程-流程控制-for循环.mp4 11.5.4 Shell编程-流程控制-while循环与until循环.mp4
7.1.5 case多选语句 135 7.1.6 跳出循环体 137 任务7.2 Shell案例:重复执行命令和简单计算器 139 任务7.3 Shell案例:使用三种循环结构打印九九乘法表 141 练习(前两题每题30分,第三题40分,共计100分) 144 项目...
第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...
Linux Shell编程基础知识 目 录1、 Shell简介1.1. 什么是shell1.2. shell分类2、 Shell语法2.1. 定义变量2.2. 变量类型2.2.1. 字符集变量2.2.2. 数字常量定义2.2.3. 数组2.2.4. 系统变量2.3. 运算符与表达式2.3.1. ...
fi如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解shell命令,可以按照分号分割,也可以按照换行符分割。如果想一行写入多个命令,可以通过“’;”分割。如: 代码如下:...
手工代码实现的入门shell程序设计实验,分别使用case和if语句实现。
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...
你需要分别以硬拷贝(书面形式)和电子文档形式(副本)提交你的shell编程大作业。 你必须提交一份硬拷贝(有一个写上名字的装订好的封面)和一份含下面四个文件的电子拷贝(三份SHELL脚本和一份文本文件)。 ...
《跟老男孩学Linux运维:Shell编程实战》第三部分为第9章~第13章,着重讲解case条件语句、while循环和until型循环、for循环和select循环、条件与循环控制及程序返回值、Shell数组等知识。《跟老男孩学Linux运维:...
完成简单的Shell编程,对其中参数所包含的内容和用法进一步了解;Shell编程中if语句的使用;Shell编程中for语句的使用;Shell编程中while语句的使用;Shell编程中case语句的使用
本书可分为五大部分:第一部分为第1章~第4章,此部分着重介绍新手如何学好Shell编程。涉及的内容包括Shell编程的入门介绍、基础知识、运行原理、编程语法、编程习惯、变量知识以及变量的深入实践。第二部分为第5章~...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: 代码如下: case 值 in 模式1) command1 command2 … commandN ;; 模式2) ...
本文介绍下,在bash shell编程中,有关case语句的一个例子,学习下case语句的用法,有需要的朋友参考下
• 5 case 语句 o 5.1 select 语句 o 5.2 while/for 循环 • 6 Shell里的一些特殊符号 o 6.1 引号 o 6.2 Here documents • 7 Shell里的函数 • 8 命令行参数 • 9 Shell脚本示例 o 9.1 一般编程步骤 o ...