我最近举办了一个关于 Linux 工具的研讨会,并告诉学生如果遇到错误,请查阅命令的手册页。
但是,我注意到该命令本身从不返回消息以查看该man
命令的手册页。
大多数命令建议使用--help
选项、使用页面info
、使用说明或仅打印错误消息。
我想知道为什么没有命令要求用户查阅手册页?当它被错误使用时,这难道不是第一个去寻找的地方吗?
答案1
那里是这是有客观原因的。
--help
是内置于实用程序本身的标志 - 内置于二进制可执行文件中,或者如果它是脚本则内置于脚本中。
手册页与可执行文件本身分开存储在文件系统上。
手册页可能会丢失,但可执行文件本身仍然可以访问。
作为实用程序开发人员,向用户引导文档资源可以不可以出现在他们的系统上比在代码本身中内嵌信息更有意义。
不仅如此,而且可执行文件的版本和手册页的版本可能会或可能不会一致。
我遇到过这种情况,例如,当某个版本的 Postgres 随某个软件包一起提供时,系统上还安装了不同版本的 Postgres。 man psql
将显示信息一版本,但它不是您通过运行实际获得的版本psql
。如果没有--help
标志,我就会很困惑为什么某些选项根据手册页不起作用。
答案2
这取决于意见,因为可能没有关于如何呈现错误消息中的建议的统计数据。
我所看到的主要搭配是打印使用消息(可能不止一行),也许是因为没有必要告诉某人阅读手册页。告诉某人阅读--help
消息是多余的,只有一小部分建议阅读信息页面。
我开发的所有程序都提供使用消息(通常是多行)。