Unix / Linux Shell - if...elif...fi 语句


if ...elif...fi语句是控制语句的一级高级形式,它允许 Shell 根据多种条件做出正确的决定。

句法

if [ expression 1 ]
then
   Statement(s) to be executed if expression 1 is true
elif [ expression 2 ]
then
   Statement(s) to be executed if expression 2 is true
elif [ expression 3 ]
then
   Statement(s) to be executed if expression 3 is true
else
   Statement(s) to be executed if no expression is true
fi

这段代码只是一系列if语句,其中每个if都是前一个语句的else子句的一部分。这里的语句是根据 true 条件执行的,如果没有一个条件为 true,则执行else块。

例子

#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a is equal to b"
elif [ $a -gt $b ]
then
   echo "a is greater than b"
elif [ $a -lt $b ]
then
   echo "a is less than b"
else
   echo "None of the condition met"
fi

执行后,您将收到以下结果 -

a is less than b
unix-决策.htm