if
命令的条件结构如下所示:
if TEST-COMMANDS; then
CONSEQUENT-COMMANDS;
[elif MORE-TEST-COMMANDS; then
MORE-CONSEQUENTS;]
[else ALTERNATE-CONSEQUENTS;]
fi
while
命令的循环结构如下所示:
while TEST-COMMANDS; do CONSEQUENT-COMMANDS; done
我想知道为什么 if
命令中需要 then
而 while
命令中不需要?为什么不能省略?
最佳答案
while
语法中的
do
与 if
语法中的 then
具有相似的目的。它们都表示语句主体的开始 - 将其与语句的条件部分区分开来。
if conditional statement是 shell 中的复合语句。语句的 if
和 then
部分作为两部分执行,then
部分仅在 if
部分以 0
的退出状态结束。两个部分都可能包含多个语句;因此,单独使用分号不足以分隔这些部分。
关于bash - 在 Bash 中,为什么条件结构中需要 `then`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473577/