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

if...fi 语句是基本的控制语句,它允许 Shell 做出决定并有条件地执行语句。


语法

if [ expression ] 
then 
   Statement(s) to be executed if expression is true 
fi

Shell 表达式 在上面的语法中被评估。 如果结果值为 true,则执行给定的 statement(s)。如果 expressionfalse 则不会执行任何语句。 大多数时候,比较运算符用于决策。

建议注意大括号和表达式之间的空格。 没有空格会产生语法错误。

如果 expression 是一个 shell 命令,那么如果它在执行后返回 0 则将被假定为 true。 如果它是一个布尔表达式,那么如果它返回 true,它就是 true。


示例

#!/bin/sh

a=10
b=20

if [ $a == $b ]
then
   echo "a is equal to b"
fi

if [ $a != $b ]
then
   echo "a is not equal to b"
fi

上面的脚本会产生下面的结果 −

a is not equal to b