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

时间:2012-06-02 22:33:11

标签: c ruby standards posix getopt

在ruby-doc.org page 我找到了以下关于命令行选项/参数解析(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>

这就是它的全部吗?

2 个答案:

答案 0 :(得分:3)

它是IEEE Std 1003.1。请参阅errno.hError Numbers。也称为POSIX.1-2008和早期版本(有关章节,年份等的更多详细信息,请参阅wiki)。

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

答案 1 :(得分:1)

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

您还应该查看POSIX实用程序通常符合的规则的Utility Conventions规范。 (与惯例有偏差,通常是因为历史悠久的历史先例。通常会定义一个与POSIX约定相匹配的变体。)