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 用法 用法 case;in;esac都是shell关键字 expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果,只要可以得到expression的值就行) ...
其中:case in 和esac都是shell关键字,expression表示表达式,pattern表示匹配模式 expression既可以是一个变量、一个数字、一个字符串,也可以是一个数学计算表达式或者命令的执行结果 pattern可以是一个数字、一...
case $变量 in 取值1) 语句 ;; 取值2) 语句 ;; *) 语句 ;; esac ``` 在文件中,`case`语句被用来处理用户输入的字符,根据字符执行相应的命令,如显示用户ID、组ID或shell路径。 最后,文件还涉及到了脚本编写的...
**标题**:“Sams Teach Yourself Shell Programming in 24 Hours” **描述**:“Shell开发,24小时,经典之一,希望大家喜欢” **知识点详解:** ##### **1.1 Shell概念与历史** - **什么是Shell?** - Shell...
case $user in rich|banana) echo "1" ;; testing) echo "2" ;; *) echo "3" ;; esac ``` 在上述case结构中,`rich|banana`是一个模式,如果`$user`的值匹配该模式,则执行对应的代码块。`*`代表的是默认...
shell支持两种分支结构,分别为if else 与case in语句。 基本格式为: case expression in pattern1) statement1 ;; pattern2) statement2 ;; ........ ;; *) statement esac case会将expression 的值与...
Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: 代码如下: case 值 in 模式1) command1 command2 … commandN ;; 模式2) ...
Linux Shell 中 case 命令详解 Linux shell 中的 case 命令是一种强大的流程控制语句,它可以根据不同条件执行不同的动作。与 C/C++ 中的 switch 语句类似,但 shell 中的 case 命令更强大和复杂。 强大之处 ...
本文将探讨shell脚本中的“case”语句,以及如何通过实例来理解其用法。 首先,让我们了解什么是shell脚本。Shell脚本本质上就是一种文本文件,包含了可由shell解释器执行的命令。它允许用户自定义工作流程,比如...
使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 语句组 ;;模板3 [ | 模板4 ] … ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case...
《Linux Shell 编程在24小时内掌握》一书旨在为读者提供一个全面且深入的Linux Shell编程学习路径。本书不仅介绍了基本的Shell命令和脚本编写,还深入探讨了文件与目录操作、进程管理、变量定义、流程控制、输入输出...
流程控制包括`if`语句、`case`语句和各种循环,它们让脚本能够根据不同的条件执行不同的任务。 此外,书中还可能涉及Shell脚本的调试技巧,如使用`set -x`来追踪脚本的执行过程,找出错误所在。学习如何编写脚本的...
在shell脚本中,发现case语句的一个问题。就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了。 出现如下情况: 代码如下:[root@station1 ~]# cat case.sh#!/bin/bashwhile :doecho -n “input a letter: ...
** 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`条件语句是一种强大的多分支控制结构,它允许我们根据变量的值来执行不同的代码块。在本文中,我们将深入理解`case`语句的用法,并通过实例来演示如何在实际场景中应用。 ### 1. `case`...