bash 的“帮助”内置文件的来源在哪里?

bash 的“帮助”内置文件的来源在哪里?

在 MacOS 上,操作系统的默认 bash 是 3.2。

如果我运行help trap它,它表示如果 signal_spec 是 DEBUG,则该命令已运行每个命令,但 bash 联机帮助页显示它已运行每个命令。该 bash 的实际行为与联机帮助页一致(即命令)。

我下载了4.4.18(1)的源代码并构建了它。联机帮助页都help trap显示陷阱已执行每个命令。然而,即便如此,每份文档的文本都略有不同。

所以我天真的假设help内置读取/解析手册页显然是不正确的。

那么从哪里help获取它转发给用户的信息呢?

答案1

啊,经过几级源代码生成后,它被烘焙到可执行文件中。

http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/trap.def?id=b0776d8c49ab4310fa056ce1033985996c5b9807#n25

因此,各种内置定义文件中都有文档,这些文档builtins.cmkbuiltins.

我猜想 MacOS bash 联机帮助页已更新,以反映带有 DEBUG signal_spec 的 trap 的正确行为,而定义源未更新且可执行文件已重建。

相关内容