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

  • Post author:
  • Post category:其他




一、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更高效。



版权声明:本文为qq_45425035原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。