在 Shell 中,关键字 else 是用于在 if 条件不满足,且所有的 elif 条件也都不满足的情况下,执行的代码逻辑。
else 关键字可以直接配套 if 语句使用,也可以配套 else if 语句一起使用,else 后面不能加判断条件,且 else 后面不再需要加 then 语句了。
if condition then statement else statementn fi
参数 | 描述 |
---|---|
if | if 条件判断使用的关键字 |
condition | 条件判断语句,必须返回真或者假 |
else | else 条件判断使用的关键字 |
else 语句可以直接配套 if 语句使用,如果 if 条件判断不成立,则执行 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 语句条件为真,则不会执行 else 相对应的代码
#!/bin/bash
a=10
b=5
if (( $a > $b ))
then
echo "a > b"
else
echo "a <= b"
fi
echo "Over"
程序运行后,控制台输出如下:
首先,我们定义了两个 变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > b 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会执行 else 里面的代码逻辑。
最后,我们的程序输出了 "a > b"
和 "Over"
,因为 a > b 的条件是成立的,所以会执行 if 缩进里面的输出语句,而 else 里面的代码不会被执行,而最后一个输出语句不管条件满足不满足则都会执行。
如果 if 语句条件为假,则会执行 else 相对应的代码
#!/bin/bash
a=10
b=5
if (( $a < $b ))
then
echo "a < b"
else
echo "a >= b"
fi
echo "Over"
程序运行后,控制台输出如下:
首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a < b 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会执行 else 里面的代码逻辑。
最后,我们的程序输出了 "a >= b"
和 "Over"
,因为 a < b 的条件是不成立的,所以不会执行 if 缩进里面的输出语句,因此 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"
程序运行后,控制台输出如下:
首先,我们定义了变量 a,并赋值为 10。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句,如果条件不满足,则会继续执行下面所有的 elif 的判断条件。
此时,如果有任何一个 elif 满足,则下面所有的 elif 都不会再执行,else 也不会被执行,如果所有的 elif 都不满足,则会执行最后的 else 里面的逻辑。
最后,我们的程序输出了 "a <= b"
和 "Over"
,因为上面的 if 判断和所有的 elif 判断都不满足,因此 else 里面的代码会被执行,而最后一个输出语句不管条件满足不满足则都会执行。
在 Shell 中,关键字 else 是用于在 if 条件不满足,且所有的 else if 条件也都不满足的情况下,执行的代码逻辑。