使用标准格式在 GNU/Linux 上打印 --help 文本
Printing --help text on GNU/Linux with the standard format
在 GNU/Linux 终端上,当我将 --help
添加到来自 GNU 包的命令时,我得到了一个格式非常一致的帮助文本。这些帮助文本以这种格式列出了该命令接受的选项:
option characters, long options ............ [aligned] explanation of the option
例如,这是 man
命令的帮助文本的一部分:
Usage: man [OPTION...] [SECTION] PAGE...
-C, --config-file=FILE use this user configuration file
-d, --debug emit debugging messages
-D, --default reset all options to their default values
--warnings[=WARNINGS] enable warnings from groff
Main modes of operation:
-f, --whatis equivalent to whatis
-k, --apropos equivalent to apropos
-K, --global-apropos search for text in all pages
-l, --local-file interpret PAGE argument(s) as local filename(s)
-w, --where, --path, --location
print physical location of man page(s)
-W, --where-cat, --location-cat
print physical location of cat file(s)
我想知道是否有一种标准的方式(可能被 GNU 软件包使用)以相同的格式打印,而不必处理制表位等。我从 [=24= 中找到了 getopt
] API 来解析这些选项,但我找不到打印选项列表的方法。
GNU 工具使用 argp,它是 GNU C 库的一部分。它提供了比 getopt
更多的选项,包括帮助。
参见:https://www.gnu.org/software/libc/manual/html_node/Argp.html
在 GNU/Linux 终端上,当我将 --help
添加到来自 GNU 包的命令时,我得到了一个格式非常一致的帮助文本。这些帮助文本以这种格式列出了该命令接受的选项:
option characters, long options ............ [aligned] explanation of the option
例如,这是 man
命令的帮助文本的一部分:
Usage: man [OPTION...] [SECTION] PAGE...
-C, --config-file=FILE use this user configuration file
-d, --debug emit debugging messages
-D, --default reset all options to their default values
--warnings[=WARNINGS] enable warnings from groff
Main modes of operation:
-f, --whatis equivalent to whatis
-k, --apropos equivalent to apropos
-K, --global-apropos search for text in all pages
-l, --local-file interpret PAGE argument(s) as local filename(s)
-w, --where, --path, --location
print physical location of man page(s)
-W, --where-cat, --location-cat
print physical location of cat file(s)
我想知道是否有一种标准的方式(可能被 GNU 软件包使用)以相同的格式打印,而不必处理制表位等。我从 [=24= 中找到了 getopt
] API 来解析这些选项,但我找不到打印选项列表的方法。
GNU 工具使用 argp,它是 GNU C 库的一部分。它提供了比 getopt
更多的选项,包括帮助。
参见:https://www.gnu.org/software/libc/manual/html_node/Argp.html