📜  Bash其他If语句

📅  最后修改于: 2020-12-29 06:06:45             🧑  作者: Mango

Bash Else If

在本主题中,我们将了解如何在Bash脚本中使用else-if(elif)语句来完成自动化任务。

Bash else-if语句用于多个条件。就像对Bash if-else语句的补充一样。在Bash elif中,可以有多个elif块,每个块都有一个布尔表达式。对于第一个“ if语句”,如果条件为假,则检查第二个“ if条件”。

Bash Else If(elif)的语法

Bash shell脚本中else-if语句的语法可以定义为:

if [ condition ];
then

elif [ condition ];
then

else

fi

就像if-else一样,我们可以使用一组使用条件运算符连接的一个或多个条件。条件为真时执行命令集。如果没有真实条件,则执行“ else语句”内的命令块。

以下是一些演示else-if语句用法的示例:

例子1

下面的示例包含两个不同的场景,其中第一个else-if语句的条件为true,而在第二个else-if语句的条件为false。

Bash脚本

#!/bin/bash

read -p "Enter a number of quantity:" num

if [ $num -gt 100 ];
then
echo "Eligible for 10% discount"
elif [ $num -lt 100 ];
then
echo "Eligible for 5% discount"
else
echo "Lucky Draw Winner"
echo "Eligible to get the item for free"
fi

输出量

  • 如果我们输入数量为110,则'if statement'的条件为true,输出如下:

  • 如果我们输入数量为90,则'elif statement'的条件为true,输出结果如下:

  • 如果我们输入数量为100,则没有条件为真。在这种情况下,将执行“ else语句”内部的命令块,其输出如下所示:

这就是基本bash else-if的工作方式。

例子2

此示例说明了如何在Bash中的else-if语句中使用多个条件。我们使用bash逻辑运算符来加入多个条件。

Bash脚本

#!/bin/bash

read -p "Enter a number of quantity:" num

if [ $num -gt 200 ];
then
echo "Eligible for 20% discount"

elif [[ $num == 200 || $num == 100 ]];
then
echo "Lucky Draw Winner"
echo "Eligible to get the item for free"

elif [[ $num -gt 100 && $num -lt 200 ]];
then
echo "Eligible for 10% discount"

elif [ $num -lt 100 ];
then
echo "No discount"
fi

注意:应注意else块是可选的。

输出量

如果输入数量为100,则输出将如下所示:

通过放置不同的值来尝试此示例,并检查结果。

结论

在本主题中,我们通过示例了解了Bash else-if语句的语法和用法。