Linux之case语句和循环语句

本文详细介绍了Linux壳脚本中的case语句和循环语句,包括case语句的结构、应用示例,以及for循环和while循环的结构和示例。案例包括字符类型判断、学生成绩判断、九九乘法表和数字求和等,帮助读者掌握这两种控制结构的使用。
摘要由CSDN通过智能技术生成

一、case语句

1.case语句的结构

case语句主要适用于以下情况:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。这种情况与多分支的if语句非常相似,只不过if语句需要判断多个不同的条件,而case语句只是判断一个变量的不同取值。

case分支语句的语法结构如下所示。

case 变量值 in
模式 1)
    命令序列 1
    ;;
模式 2)
    命令序列 2
    ;;
    …………
*)
    默认命令序列
esac

在上述语句结构中,关键字case后面跟的是“变量值”,即“$变量名”,这点需要与for循环语句的结构加以区别。整个分支机构包括在case……esac之间,中间的模式1、模式2、……、*对应为变量的不同取值,其中*作为通配符,可匹配任意值。

case语句的执行流程:首先使用“变量值”与模式1进行比较,若取值相同则执行模式1后的命令序列,直到遇见双分号“;;”后跳转到esac,表示结束分支;若与模式1不相匹配,则继续与模式2进行比较,若取值相同则执行模式2后的命令序列,直到遇见双分号“;;”后跳转到esac,表示结束分支……以此类推,若找不到任何匹配的值,则执行默认模式“*)”后的命令序列,直到遇见esac后结束分支。使用case分支语句时,有几个特点需要注意:

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

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

3.模式字符串中,可以用方括号表示一个连续的范围,如“[0-9]”;还可以用竖杠符号“|”表示或,如“A|B”。

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

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值