shell脚本中的if语句与case语句

一、if语句

if语句从上至下按照顺序依次判定执行
格式如下:

 if  [ ]     ##判定条件(如果)
then   ##那么
elif     ###重新的一次判定(又如果)
then  ##那么
.......
else  ##否则(可以添加也可以不加)
fi    ###结尾(倒写)

注意:其中的elif不限个数,可以多次判定

步骤如下
编写脚本让输入指定内容时输出不同,否则报错
在这里插入图片描述
执行如下
在这里插入图片描述
注意
if语句是按照顺序依次比对执行,有先后顺序的区别(排在后边的后比对,消耗时间)
修改脚本如下:
在这里插入图片描述
当输入为第一个判定条件:linux时监控执行过程只匹配一次
在这里插入图片描述
当为第二个判定条件时,发现先比对第一个,比对不上,比对第二个成功,输出
在这里插入图片描述
当为第三个条件时
在这里插入图片描述
当为例外的判定条件时
在这里插入图片描述

二、case语句

case语句列出所有情况,执行时只比对一次,按照条件匹配,不按顺序执行,比对成功直接跳转,在考虑大小写混用时直接比列列举,不用专设条件,省时

格式

case $1 in  ###
	westos|WESTSO|wEstos|WESTos)   ##条件1并且列举各种大小写情况
	echo linux  ##执行内容
	;;  ##分隔符
	linux)  ##条件二
	echo westos  ##执行内容
	;;  ###分割符
	*)  ###例外条件(相当于否则)
	echo error
esac##结尾(倒写)

修改脚本如下:(与if语句比对照应)
在这里插入图片描述
输入条件一时
在这里插入图片描述
输入为大写时也执行
在这里插入图片描述
输入条件二时,也是直接跳转,不比对条件1

在这里插入图片描述
条件三
在这里插入图片描述
例外条件
在这里插入图片描述
由此可见case语句的跳转判定比if更高效。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值