`

shell 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 in 用法

    shell中的 case in 用法 用法 case;in;esac都是shell关键字 expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果,只要可以得到expression的值就行) ...

    Shell中的case in 语句

    其中:case in 和esac都是shell关键字,expression表示表达式,pattern表示匹配模式 expression既可以是一个变量、一个数字、一个字符串,也可以是一个数学计算表达式或者命令的执行结果 pattern可以是一个数字、一...

    052903shell循环 read case1

    case $变量 in 取值1) 语句 ;; 取值2) 语句 ;; *) 语句 ;; esac ``` 在文件中,`case`语句被用来处理用户输入的字符,根据字符执行相应的命令,如显示用户ID、组ID或shell路径。 最后,文件还涉及到了脚本编写的...

    Sams Teach Yourself Shell Programming in 24 Hours

    **标题**:“Sams Teach Yourself Shell Programming in 24 Hours” **描述**:“Shell开发,24小时,经典之一,希望大家喜欢” **知识点详解:** ##### **1.1 Shell概念与历史** - **什么是Shell?** - Shell...

    shell脚本写法:复杂数学式,字符串,布尔值,case写法

    case $user in rich|banana) echo "1" ;; testing) echo "2" ;; *) echo "3" ;; esac ``` 在上述case结构中,`rich|banana`是一个模式,如果`$user`的值匹配该模式,则执行对应的代码块。`*`代表的是默认...

    shell中的case

    shell支持两种分支结构,分别为if else 与case in语句。 基本格式为: case expression in pattern1) statement1 ;; pattern2) statement2 ;; ........ ;; *) statement esac case会将expression 的值与...

    Shell脚本case语句简明教程

    Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: 代码如下: case 值 in 模式1)  command1  command2  …  commandN  ;; 模式2)  ...

    Linux下shell中case命令详解.docx

    Linux Shell 中 case 命令详解 Linux shell 中的 case 命令是一种强大的流程控制语句,它可以根据不同条件执行不同的动作。与 C/C++ 中的 switch 语句类似,但 shell 中的 case 命令更强大和复杂。 强大之处 ...

    shell脚本和case 使用相关的例子

    本文将探讨shell脚本中的“case”语句,以及如何通过实例来理解其用法。 首先,让我们了解什么是shell脚本。Shell脚本本质上就是一种文本文件,包含了可由shell解释器执行的命令。它允许用户自定义工作流程,比如...

    shell中case的用法学习笔记

    使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 语句组 ;;模板3 [ | 模板4 ] … ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case...

    Linux Shell Programming In 24 Hours

    《Linux Shell 编程在24小时内掌握》一书旨在为读者提供一个全面且深入的Linux Shell编程学习路径。本书不仅介绍了基本的Shell命令和脚本编写,还深入探讨了文件与目录操作、进程管理、变量定义、流程控制、输入输出...

    24小时自学Shell编程

    流程控制包括`if`语句、`case`语句和各种循环,它们让脚本能够根据不同的条件执行不同的任务。 此外,书中还可能涉及Shell脚本的调试技巧,如使用`set -x`来追踪脚本的执行过程,找出错误所在。学习如何编写脚本的...

    shell脚本中case条件控制语句的一个bug分析

    在shell脚本中,发现case语句的一个问题。就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了。 出现如下情况: 代码如下:[root@station1 ~]# cat case.sh#!/bin/bashwhile :doecho -n “input a letter: ...

    Unix shell programming in 24 hours.pdf

    ** In the context of Unix and shell programming, a command refers to an instruction or a set of instructions that are executed by the shell or another program. Commands can be simple, like `ls` for ...

    详解shell脚本中的case条件语句介绍和使用案例

    在Shell脚本编程中,`case`条件语句是一种强大的多分支控制结构,它允许我们根据变量的值来执行不同的代码块。在本文中,我们将深入理解`case`语句的用法,并通过实例来演示如何在实际场景中应用。 ### 1. `case`...

Global site tag (gtag.js) - Google Analytics