Linux shell脚本---case语句

一,case语句解释
1,case语句的作用
case语句用于条件判断,判断一个变量的不同取值

2,case语句的语法
case 变量值 in
匹配模式1)
命令序列1
;;
匹配模式2)
命令序列2
;;


) #表示不是以上模式则执行
命令序列
;;
esac
1
2
3
4
5
6
7
8
9
10
11
12
13
3, case语句的基本含义
case行必须以“in”结尾
匹配模式必须以“)”结尾
“;;” 双分号表示命令序列结束
)”表示默认模式,“ * ”于通配符含义相同

4, case语句的执行流程
首先使用“变量值”与匹配模式1进行比较,如果值相同则执行该模式命令序列,直至“;;”号后跳转esac,结束分支。如果“变量值”与匹配模式1不同,则与匹配模式2进行匹配取值,如果值相同则执行该模式命令序列,直至“;;”号后跳转esac,结束分支。如果“变量值”与匹配模式2不同,则继续匹配下个匹配模式,以此类推。如果找到不到匹配相同的值,则执行“*)”模式后的命令序列,直至esac结束分支。

5,read命令解释
read命令从键盘读取变量的值,该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。
read 命令详解:https://man.linuxde.net/read

二,sace语句应用实例
1,为了进一步的了解使用sace使用,下面搭搭建两个简单的脚本练习。
脚本1:

脚本内容:

[root@localhost 1]# vim gF.sh
1
#!/bin/bash

read -p “你今天吃了什么饭?
:” gF

case g F i n " 馒 头 " ) e c h o " 今 天 吃 了 gF in "馒头") echo "今天吃了 gFin"")echo"gF"
exit 0 #exit0 为退出的返回状态码
;;
“米饭”)
echo “今天吃了 g F " e x i t 11 ; ; " 包 子 " ) e c h o " 今 天 吃 了 gF" exit 11 ;; "包子") echo "今天吃了 gF"exit11;;"")echo"gF”
exit 22
;;
“面条”)
echo "今天吃了KaTeX parse error: Expected 'EOF', got '#' at position 155: …ot@localhost 1]#̲ chmod +x gF.sh…gF变量,随后case $gF in 代码行检测read输出值是否为“馒头”,如果为馒头则执行命令行,输出今天吃了馒头,如果不为馒头则继续检测匹配,匹配完所有匹配模式分支没有相同的,则执行默认“*)”输出识别不到次食物。

脚本2:

脚本内容:

[root@localhost 1]# vim Sz.sh
1
#!/bin/bash

read -p “输入一个数字或字母:” Sz

case KaTeX parse error: Expected 'EOF', got '#' at position 212: …ot@localhost 1]#̲ chmod +x Sz.sh…Sz变量,随后case $Sz in 代码行检测read输出值是否为“a-z”,如果为小写字母“a-z”则执行命令行,输出你输入的是小写字母,如果不为“a-z”则继续检测匹配,匹配完所有匹配模式分支没有相同的,则执行默认“*)”输出你输入的是其他字符。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值