这是一个后续上一个问题,其中 Silverrocker 建议了一种显示帮助消息的好方法,类似于ls
或 之类的命令du
。
program --help
Usage: program [<options>][<arguments> ...]
Options:
--help show this message, then exit
--something after some spaces for alignment, an explenation follows.
我真的很喜欢这种方法,但我只能猜测如何生成这样的帮助消息。有没有关于如何生成这样的东西的 GNU/任何文档/标准?
答案1
在 ls 和 du 中,--help 输出简单明了地硬编码到程序中。
在 Python 等脚本语言中,可能有一个选项解析库可以自动为您完成此操作。
至于标准,我唯一能找到的是:
http://www.gnu.org/prep/standards/html_node/_002d_002dhelp.html#g_t_002d_002dhelp
或者更具体地说 ls, du (coreutils):
http://www.gnu.org/software/coreutils/manual/html_node/Common-options.html#Common-options
这是完全没有帮助的。
我想这取决于你是否能很好地格式化它。 :)
答案2
在编写命令行实用程序时,我创建一个usage()
以该形式输出信息的函数,当我在 getopt (或其他)代码中添加或更改某些内容时,我会更新使用函数以反映这一点。当然,该系统的问题是,如果您懒惰,最终可能会收到不准确的使用消息,但这并不是一个难以避免或纠正的问题。
至于指南,原则“usage:”行可以遵循手册页约定,例如:
Usage: mycommand -h | [-x|y|z] [-a] [-b arg] required_param [optional_param]
哪里有管子|表示或者(因此您可以使用 x 或 y 或 z 之一)和括号可选位。根据 ls,这可能会被简化为
Usage: mycommand [options] required_param [optional_param]
然后按字母顺序浏览选项等。
-h
如果解析或使用了无用的选项--help
、缺少必需的参数等,则会触发“Usage”。