UNIX/Linux教程
+ -

UNIX Shell条件if..else

2019-09-09 7 0

Unix Shell支持以下形式的 if…else 语句-

  • if … fi 语句
  • if … else … fi语句
  • if … elif … else … fi语句

if … fi 语句

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

if … fi 示例

#!/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

if … else … fi语句

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

Shell表达式按上述语法计算。如果输出值为true,则执行给定的语句。如果表达式为false,则不会执行任何语句。

if … else … fi语句 示例

#!/bin/sh

a=10
b=20

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

执行后,您将收到以下输出-

a is not equal to b

if … elif … else … 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块。

if … elif … else … fi语句示例

#!/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

0 篇笔记 写笔记

UNIX Shell条件if..else
Unix Shell支持以下形式的 if…else 语句- if … fi 语句if … else … fi语句if … elif … else … fi语句if … fi 语句if [ expression ] then Statement(s) to be executed if e......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!