linux 每个if都要搭配一个fi吗

如题所述

每个if语句都要用fi结束,而且是每一个if都要对应一个fi。

整个if语句用fi闭合起来才算完整,书写时if和fi要垂直对齐以方便查看。

格式举例:

if  condition

then

    command1

    command2

fi

condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。最后必须以fi来闭合,fi 就是 if 倒过来拼写,即使有多条语句也不需要用{ }包围起来。


扩展资料

shell if多条件的格式用法介绍

shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

if  condition1

then

statement1

elif condition2

then

statement2

elif condition3

then

statement3

else

statementn

fi

注意,if 和 elif 后边都得跟着 then。整条语句的执行逻辑为:

如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。

如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。

如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。

如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
是的, 用fi表示if语句块的结束。本回答被提问者采纳
第2个回答  推荐于2018-03-03

是的,每个if语句都要用fi结束,其应用格式如下:

if  条件
then
   Command1
[else
   Command2]  #中括号表示else语句可以没有
fi            #别忘了这个结尾

if语句忘了结尾fi,在运行时报错如下:
test.sh: line xx: syntax error: unexpected end of fi

以上语句的意思是当"条件"的结果为真值时,进入then后面的语句command1,否则执行else语句中command2。执行完command 或 没有else语句,命令就走到fi结束该if语句

本回答被网友采纳
第3个回答  2015-08-27
肯定啊
必须成对出现
if
fi
相似回答