linux bash if else,在bash shell脚本中的IF,ELSE和ELSE IF是如何工作的

IF,ELSE或 ELIF(在其他编程里为 else if)是其中用于同一程序中不同的2个的执行依赖于输出真或假的条件语句。 所有if语句由 if 开始,然后是关键字和 fi 结束。 要定义条件有两种方式,一种是使用test关键字(例如:如 test ),第二是用方括号(即:if [条件])。

edbe69866559f0e0f3bc0c05553eec65.png

1. Bash if 语句

单 if 语句,执行一个程序是有用的。

if [ condition ]

then

fi

例如 - if 我们需要检查,if 输入值等于10与否。if 值等于10,那么它会打印出“我的值是10”,但if 不是,什么都不会被打印出来。

#!/bin/bash

read -p "Enter value of i :" i

if [ $i -eq 10 ]

then

echo "Value of i is 10"

fi

2. Bash if else语句

if 我们有要执行的两种选择方案,并且只需要一个基础上,if 条件导致执行else语句是有用的。

if [ condition ]

then

else

fi

例如 - if 输入取值是10,则它会打印出“我的值是10”,if 没有程序将执行else块语句,并打印“价值的我不等于10”。

#!/bin/bash

read -p "Enter value of i :" i

if [ $i -eq 10 ]

then

echo "Value of i is 10"

else

echo "Value of i is not equal to 10"

fi

3. Bash if elif 声明

if 我们有执行两个以上的程序选择,只需要一个基础上,if 和 elif 的条件导致执行的 elif 和else语句是有用的。

if [ condition ]

then

elif [ condition ]

then

else

fi

例如 - 下面的例子将检查输入值,if 等于5,if 为真,那么程序将打印“我的值是5”,否则程序会去elif的语句,其中一个多个条件将被选中并基于这些结果的elif或elase的块代码就会被执行。

#!/bin/bash

read -p "Enter value of i :" i

if [ $i -eq 5 ]

then

echo "Value of i is 5"

elif [ $i -eq 10 ]

then

echo "Value of i is 10"

else

echo "Value of i is not equal to 5 or 10"

fi

4.Bash elif 梯形声明

这类似于一个我们添加多个elif的语句与上面的东西。我们有执行多个程序而只需要一个基础上,if 和elif的条件导致执行elif的(否则if )梯形是有用的。

if [ condition ]

then

elif [ condition ]

then

elif [ condition ]

then

elif [ condition ]

then

else

fi

例如 -

#!/bin/bash

read -p "Enter value of i :" i

if [ $i -eq 5 ]

then

echo "Value of i is 5"

elif [ $i -eq 10 ]

then

echo "Value of i is 10"

elif [ $i -eq 20 ]

then

echo "Value of i is 20"

elif [ $i -eq 30 ]

then

echo "Value of i is 30"

else

echo "Value of i is not equal to 5,10,20 or 30"

fi

5. 嵌套 if 语句

嵌套 if 是在一个条件将根据外条件下的结果进行检查的情况非常有用。

if [ condition ]

then

if [ condition ]

then

else

fi

else

if [ condition ]

then

fi

fi

例如下面的小shell程序是寻找用户采取投入3值之间的最大的价值。这一方案将只数值工作。if 两个值是相似的,将打印只有一个值。

#!/bin/bash

read -p "Enter value of i :" i

read -p "Enter value of j :" j

read -p "Enter value of k :" k

if [ $i -gt $j ]

then

if [ $i -gt $k ]

then

echo "i is greatest"

else

echo "k is greatest"

fi

else

if [ $j -gt $k ]

then

echo "j is greatest"

else

echo "k is greatest"

fi

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值