Shell else条件判断

Shell else条件判断教程

Shell 中,关键字 else 是用于在 if 条件不满足,且所有的 elif 条件也都不满足的情况下,执行的代码逻辑。

else 关键字可以直接配套 if 语句使用,也可以配套 else if 语句一起使用,else 后面不能加判断条件,且 else 后面不再需要加 then 语句了。

Shell if else语句详解

语法

if condition then statement else statementn fi

参数

参数 描述
if if 条件判断使用的关键字
condition 条件判断语句,必须返回真或者假
else else 条件判断使用的关键字

说明

else 语句可以直接配套 if 语句使用,如果 if 条件判断不成立,则执行 else 里面的代码逻辑。

Shell if elif else语句详解

语法

if condition1 then statement1 elif condition2 then statement2 elif condition3 then statement3 else statementn fi

参数

参数 描述
if if 条件判断使用的关键字
condition1 条件判断语句,必须返回真或者假
elif elif 条件判断使用的关键字
condition2 条件判断语句,必须返回真或者假,如果 condition1 不满足,才会判断 condition2
condition3 条件判断语句,必须返回真或者假,如果 condition1 和 condition2 都不满足,才会判断 condition3
else else 分支使用的关键字,当前面的 if 和 else if 都不满足时,执行此分支的代码

说明

else 语句可以配套 else if 使用,else 后面是没有加判断条件的,且不能加判断条件,否则会编译错误。

案例

if语句条件为真

如果 if 语句条件为真,则不会执行 else 相对应的代码

#!/bin/bash a=10 b=5 if (( $a > $b )) then echo "a > b" else echo "a <= b" fi echo "Over"

程序运行后,控制台输出如下:

06_Shell else语句.png

首先,我们定义了两个 变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > b 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会执行 else 里面的代码逻辑。

最后,我们的程序输出了 "a > b""Over" ,因为 a > b 的条件是成立的,所以会执行 if 缩进里面的输出语句,而 else 里面的代码不会被执行,而最后一个输出语句不管条件满足不满足则都会执行。

if语句条件为假

如果 if 语句条件为假,则会执行 else 相对应的代码

#!/bin/bash a=10 b=5 if (( $a < $b )) then echo "a < b" else echo "a >= b" fi echo "Over"

程序运行后,控制台输出如下:

07_Shell else语句.png

首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a < b 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会执行 else 里面的代码逻辑。

最后,我们的程序输出了 "a >= b""Over" ,因为 a < b 的条件是不成立的,所以不会执行 if 缩进里面的输出语句,因此 else 里面的代码会被执行,而最后一个输出语句不管条件满足不满足则都会执行。

if elif else

if elif 和 else 语句可以一起使用

#!/bin/bash a=10 if (( $a > 20 )) then echo "a > 20" elif (( $a > 15 )) then echo "a > 15" elif (( $a > 10 )) then echo "a > 10" else echo "a <= 10" fi echo "Over"

程序运行后,控制台输出如下:

08_Shell else语句.png

首先,我们定义了变量 a,并赋值为 10。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会继续执行下面所有的 elif 的判断条件。

此时,如果有任何一个 elif 满足,则下面所有的 elif 都不会再执行,else 也不会被执行,如果所有的 elif 都不满足,则会执行最后的 else 里面的逻辑。

最后,我们的程序输出了 "a <= b""Over" ,因为上面的 if 判断和所有的 elif 判断都不满足,因此 else 里面的代码会被执行,而最后一个输出语句不管条件满足不满足则都会执行。

Shell else条件判断总结

在 Shell 中,关键字 else 是用于在 if 条件不满足,且所有的 else if 条件也都不满足的情况下,执行的代码逻辑。