9

在 ruby​​-doc.org页面上 ,我发现以下关于命令行选项/参数解析(getopt 库)的内容:

以 POSIX 定义的格式返回相应的错误消息。如果没有发生错误,则返回 nil。

命令行错误消息的 POSIX 定义格式是什么?它是哪个 POSIX 标准?

编辑:

我必须澄清我在解析命令行参数/选项时对标准/推荐的错误消息感兴趣。

在下面的链接(答案)中,我发现只提到了 getopt 的这种错误格式:

"%s: illegal option -- %c\n", <program name>, <option character>

"%s: option requires an argument -- %c\n", <program name>, <option character>

一切都是为了它吗?

4

2 回答 2

3

是 IEEE 标准 1003.1。请参阅errno.h错误编号。也称为 POSIX.1-2008 和更早的修订版(有关章节、年份等的更多详细信息,请参见wiki)。

请注意,系统可能具有扩展的错误编号集和与之关联的消息。例如,Linux 支持 C99 定义的错误编号。也可能存在特定于实现的错误。这是Linuxerrno.h供参考。

于 2012-06-02T22:52:22.060 回答
1

由于您的问题是关于getopt()函数的,因此您可能正在寻找getopt()函数的 POSIX 规范。其规范取决于getopts它可以产生的错误消息的实用程序。该getopts实用程序的基本原理部分描述了某些现有实现中某些错误消息的格式,但不强制要求它们。

您还应该查看实用程序约定规范以了解 POSIX 实用程序通常遵守的规则。(与约定存在偏差,通常是因为历史悠久的先例。通常,定义的变体与 POSIX 约定相匹配。)

于 2012-06-03T01:08:14.067 回答