【发布时间】:2012-09-22 11:52:47
【问题描述】:
我有一个问题。如果我的if 语句是true,它会跳过elif 检查并直接转到fi 还是仍然检查elif 语句?
脚本示例:
if [ argument1 || argument2 ]
then
do something.
elif [ argument2 || argument3 ]
then
do something.
elif [ argument2 || argument4 ]
then
do somthing.
else
do somthing else.
fi
我的问题是,如果我的第一个 if 声明为真,我希望我的 elif 声明仍被检查。如果我的第一个 elif 语句是 true... 等,我还希望检查我的 elif 语句。基本上我希望我的所有 if 和 elif 语句都被检查。
注意。我意识到我可以将所有elif 语句更改为if 语句,这可能会解决我的问题,因为所有if 语句都会被检查。但是这个问题也是出于对if和elif语句的好奇和更好的了解。
如果您需要更多信息,请告诉我。
【问题讨论】:
-
else if 的重点就是这个。您可以使用 just if 来执行所有真正的命令
-
[ condition || condition ]无效,您需要使用[[。[[ condition || condition ]],否则为[ condition ] || [ condition ]。 -
啊,是的!谢谢,我在做一些脚本测试时意识到了这一点。 :)
标签: linux bash if-statement sh