【Linux | Shell】结构化命令 - if 语句

目录

  • 一、概述
  • 二、if-then 语句
  • 三、if-then-else 语句
  • 四、if-then-elif 语句
  • 五、嵌套 if 语句


在这里插入图片描述

一、概述

前面文章介绍了一些Shell脚本的基础知识,也了解了怎样构建一个shell脚本文件,让shell脚本执行一些基础的指令,但都是从上到下依次执行的。在实际shell编程中,会遇到很多情况需要判断条件,按不同条件去执行不同的命令。本文注意介绍shell编程中的一些结构化命令条件语句等内容:

  • if-then 语句
  • if-then-else 语句
  • if-then-elif 语句
  • 嵌套 if 语句【Linux | Shell】结构化命令 - if 语句_第1张图片

在这里插入图片描述

二、if-then 语句

if-then 语句是最基本的结构化命令,其格式如下:

if command
then
	commands
fi

首先,if语句会运行 if 之后的命令;
然后,判断该命令的退出状态码($?)是否为0,为0则执行then部分的命令,不为0则不执行;
最后,fi 语句用来表示 if-then 语句到此结束。


在有些脚本中,你可能看到过 if-then 语句的另一种形式:

if command; then
	commands
fi

通过把分号(;)放在待求值的命令尾部,可以将 then 语句写在同一行,这样看起来更像其他编程语言中的 if-then 语句。

在这里插入图片描述

三、if-then-else 语句

if-then 语句中,不管命令是否成功执行,都只有一种选择。下面介绍这个命令在命令执行成功后,会执行一些命令,不成功则可以执行其他命令,这就是 if-then-else 语句。if-then-else 语句格式如下:

if command
then
	commands
else
	commands
fi

首先,if语句会运行 if 之后的命令command
然后,判断该命令的退出状态码($?)是否为0,为0则执行then部分的命令,不为0则执行else部分的命令;
最后,fi 语句用来表示 if-then 语句到此结束。

在这里插入图片描述

四、if-then-elif 语句

if-then-else 语句也只是提供了两个选择,如果想要判断更多的情况,可以选择if-then-elif语句。if-then-elif 语句格式如下:

if command
then
	commands
elif command
then
	commands
fi

首先,if语句会运行 if 之后的命令command
然后,判断该命令的退出状态码($?)是否为0,为0则执行then部分的命令;
不为0则继续运行elif的命令command
继续判断该命令退出状态码是否为0,为0则执行then部分的命令;
最后,fi 语句用来表示 if-then 语句到此结束。


可以继续将多个 elif 语句串起来,形成一个更大的 if-then-elif 嵌套组合:

if command1
then
	command set 1
elif command2
then
	command set 2
elif command3
then
	command set 3
elif command4
then
	command set 4
fi

在这里插入图片描述

五、嵌套 if 语句

有时需要在脚本中检查多种条件。对此,可以使用嵌套的 if-then 语句。嵌套的 if 语句是指在 if 语句的命令部分又使用 if 语句,基本格式如下:

  • 在 then 命令部分嵌套
if command
then
	commands
	if command
	then
		commands
	fi
fi
  • 在 else 命令部分嵌套
if command
then
	commands
else
	commands
	if command
	then
		commands
	fi
fi

在这里插入图片描述
如果文章有帮助的话,点赞、收藏⭐,支持一波,谢谢

你可能感兴趣的:(linux系统,linux,运维,服务器)