bash - 在 Bash 中,为什么条件结构中需要 `then`?

标签 bash shell if-statement syntax

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 命令中需要 thenwhile 命令中不需要?为什么不能省略?

最佳答案

while 语法中的

doif 语法中的 then 具有相似的目的。它们都表示语句主体的开始 - 将其与语句的条件部分区分开来。

if conditional statement是 shell 中的复合语句。语句的 ifthen 部分作为两部分执行,then 部分仅在 if 部分以 0 的退出状态结束。两个部分都可能包含多个语句;因此,单独使用分号不足以分隔这些部分。

关于bash - 在 Bash 中,为什么条件结构中需要 `then`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473577/

相关文章:

Java 使用 Java 进程构建器执行 bash 脚本

c++ - 使用 atomic bool 保护进程

linux - 如何使用 bash 脚本将一行中的一些重复模式分成多行?

bash - 使用 bash 变量和 jq 将项目添加到 json

bash - 如何检查给定目录是否可访问?

linux批量重命名目录并从名称中删除#字符

git - git 如何向预提交 Hook 显示不同的索引?

linux - bash中只接受一定范围内的输入

jquery end 阻止菜单上最后一个链接上的 default()

java - TwoSums 代码仅返回 [0,0]