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
相关推荐
Linux Shell 编程基础包括了解 Shell 的基本概念、Shell 变量、条件语句、循环语句、函数等。掌握这些基础知识后,可以编写出更加复杂的 Shell 脚本,实现自动化任务、数据处理、系统管理等功能。 1. Shell 变量 ...
Linux Shell编程是Linux系统中非常重要的一个环节,它是一种命令解释器,同时也是脚本编程语言。Shell编程使得用户可以通过编写脚本来自动化重复性任务,提高工作效率。这份"Linux Shell编程手册"将引领初学者深入...
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写脚本来执行一系列命令,从而实现自动化操作,提高工作效率。这本书《Linux Shell编程...
"Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写简单的命令序列来执行复杂的任务。这份"Linux Shell编程教材配套PPT"将帮助你深入...
Linux Shell编程是利用Shell语言进行的一种编程方式,它是Linux操作系统中不可或缺的一部分。Shell可以解释和执行用户输入的命令,同时也可以用于编写脚本程序,实现自动化的任务处理。Shell编程的主要特点包括定义...
8.Shell编程之Case语句及Select综合应用_0.mp4 9.Shell编程之函数及案例分析.mp4 10.Linux下深入编程之函数及数组编程.mp4 11.Shell编程之SED及GREP综合讲解.mp4 12.Shell编程四剑客及案例详解.mp4 13.Linux下自动化...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。它是一种命令行脚本语言,用于交互式地操作操作系统或编写批处理脚本。本资源包含了从初学到精通的Shell编程源码,共计4-17全阶段的学习内容,旨在...
在IT领域,Linux Shell编程是系统管理员和开发者必备的技能之一。它允许用户通过命令行接口与操作系统进行交互,执行自动化任务,编写脚本,甚至进行复杂的系统管理。本篇文章将深入探讨“Linux Shell编程指南”中...
### Linux Shell编程知识点详解 #### 一、Shell编程概述 **Shell** 在 Unix/Linux 系统中扮演着极其重要的角色,既是用户与操作系统交互的主要接口,也是一种强大的编程语言。通过 Shell 编程,用户不仅可以自动化...
Linux运维-3.Shell编程-12 shell编程-142case语句.avi
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell是一种命令行解释器,它提供了与操作系统交互的接口,允许用户执行系统命令、编写脚本并进行文件操作。本教程将深入探讨Linux Shell编程的经典...
Linux Shell编程实训是一份详实的教程,涵盖了从基础到高级的Shell编程知识,适合对Linux系统管理和自动化脚本感兴趣的初学者和进阶者。该实训主要包括以下项目: 1. **初识Linux Shell**:这部分内容旨在建立开发...
Linux Shell脚本编程实例是一种使用Linux Shell编程语言编写的脚本,旨在提供一个实用的编程实例,帮助用户学习和掌握Linux Shell编程的相关知识。 程序入口点和参数处理 在Linux Shell脚本编程中,程序的入口点是...
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
- **case语句**:根据不同的条件执行不同分支的命令。 - **背景执行**:`&`用于在后台运行命令。 9. **脚本调试与优化**: - **调试**:`set -x`开启命令追踪,`set -v`显示命令行输入。 - **效率**:避免使用...
Linux Shell编程是Linux系统管理与自动化任务处理的重要工具,它是一种命令解释器,允许用户通过命令行接口与操作系统进行交互。本资源集包含了丰富的Linux Shell编程教程和实践材料,适合初学者和进阶者深入理解并...
本资源摘要信息涵盖了 Linux Shell 基础编程的知识点,包括 Shell 编程入门、变量、If、While、For、Case、Select 基本语句案例演练、Find、Grep、Awk、Sed 四剑客深度剖析等,为读者提供了 Linux Shell 基础编程的...
`case`语句在Shell编程中用于多分支选择。它的基本语法如下: ```bash case $变量 in 模式1) # 当$变量匹配模式1时执行的命令 ;; 模式2) # 匹配模式2时执行的命令 ;; ... *) # 其他情况执行的命令,相当于...
"shell编程--用户信息管理(模拟)" 本课设计的主要目的是让学生掌握 Linux 操作系统中 shell 脚本编程技术的各种知识点,包括变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析...