shell编程之case分支语句

shell编程之case分支语句

case分支语句和if的多分支语句很相似。

if多分支语句一般用在有(区间范围)的地方 ;例如:0-100之间。

if需要判断多个不同的条件。

case的分支语句用在 如果里面匹配到固定值;或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列。

case只是判断一个变量的不同取值。

case的模式:

执行流程:

首先使用“变量值”与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见“ ;; ”后跳转到esac结束。

如果与模式1不匹配,则继续与下个模式2进行比较,若相同则执行模式2的命令序列2,知道遇见“ ;; ”后跳转到esac结束。若还是找不到任何匹配的值,则执行“ *)”默认模式后的默认命令序列,直到遇见esac结束。

使用case分支语句时,有几个注意的点:

1.case行尾必须为单词‘in’,每一个模式必须以右括号‘ )’结束。

2.双分号 “ ;; ”,表示命令序列的结束。

3.模式字符串中,可以用“ [ ] ”表示一个连续的范围,如:[0-9] ;还可以用竖杠符号" | "(表示或),如:a|b。

4.最后的 ” )“,表示默认模式,其中的“ ”相当于通配符。

原文地址:https://blog.51cto.com/14557584/2456923

时间: 2024-08-15 05:26:32

shell编程之case分支语句的相关文章

Shell编程之case语句与循环语句

case语句分支 1.case语句的结构 case 变量值 in模式 1)命令序列 1;;模式 2)命令序列 2;;......*)默认命令序列esac case分支语句的结构图使用case分支语句的注意点:1.case行尾必须为单词"in",每一个模式必须以右括号")"结束.2.双分号";;"表示命令序列的结束.3.模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以用竖杠符号"|"表示

Shell编程之case多分支语句、循环语句(for、while等)、Shell函数、Shell数组

case多分支语句 case语句的结构: 针对变量的不同取值,分别执行不同的命令列 case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; ..... *) 默认命令序列 esac 示例: 字符类型识别: 提示用户输入一个字符: 判断出该字符是字母.数字或者其他字符. 脚本如下: [[email protected] opt]# vim test01.sh #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z]

shell编程之case语句

bash脚本编程: case语句: 多分支if语句: if CONDITION1; then 分支1 elif  CONDITION2; then 分支2 ... else CONDITION; then 分支n fi 示例1:显示一个菜单给用户: cpu) display cpu information mem) display memory information disk) display disks information quit) quit 要求:(1) 提示用户给出自己的选择: (

SHELL编程之case与函数

一.case语句概述 使用case语句改写if多分支可以使脚本结构更加清晰.层次分明 针对变量不同取值,执行不同的命令序列 case语句结构如下: case 变量值  in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认命令序列 esac 1 #!/bin/bash 2 read -p "请输入一个字符: " key 3 case "$key" in 4 [a-z]|[A-Z]) #假如变量$key在26个大小写英文字母中 5 echo &quo

Shell脚本之for、while循环语句和case分支语句

shell作为一种脚本编程语言,同样包含循环.分支等其他程序控制结构,从而轻松完成更加复杂.强大的功能 使用for循环语句 在工作中,经常遇到某项任务需要多次执行,而每次执行仅仅是处理对象不一样,其他命令都相同.使用简单的if语句已经难以满足要求,编写全部代码将困难重重,而for循环语句将很好的解决类似的问题 1. for语句的结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令,直到变量值用完退出循环 案例1:根据姓名列表批量建立用户 [[ema

浅谈Shell脚本中for循环、while循环及case分支语句

博文目录一.for循环语句二.使用while循环语句三.使用case分支语句 一.for循环语句 当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更是显得异常繁琐,困难重重.这将可以使用for循环语句很好的解决类似问题. 1.for语句的结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环.在这里,"取值列表"称为for语句的执行条件,其中包括多个属性相同的对象,需要预先指定(如通

Shell脚本 (三)for循环 while循环 case分支语句

################for循环语句的结构#############使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环.在这里,取值表 称为for语句的执行条件,其中包括多个属性相同的对象.需要预先指定(如通讯录.IP黑名单)·语法样式for 变量名 in 取值列表do 命令序列done·#####for循环语句列子####需求:根据人事部门给出的员工姓名拼音列表,在Linux服务器中添加相应的用户账号,初始密码均设

shell编程之if语句

目录 shell编程之if判断 1.整数比较 2.字符串比较 3.举例 1.数字比较 2.字符串比较 4.Other shell编程之if判断 1.整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a&

Shell编程之Expect免交互

Shell编程之Expect免交互 Expect概述 Expect安装 Expect基本命令 Expect执行方式 Expect案例 Expect概述 Expect Expect是建立在tcl基础上的一个工具,Expect 是用来进行自动化控制和测试的工具.主要解决shell脚本中不可交互的问题.对于大规模的linux运维很有帮助 在linux运维和开发中,我们经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入yes/no password等信息.为了模拟这种输入,可以使