Quel est le “format défini par POSIX” pour les messages d’erreur de ligne de commande? Quel standard?

Sur la page ruby-doc.org, j’ai trouvé ce qui suit concernant l’parsing des options / arguments en ligne de commande (bibliothèque getopt):

Renvoie le message d’erreur approprié au format défini par POSIX. Si aucune erreur ne s’est produite, renvoie nil.

Quel est le format défini par POSIX pour les messages d’erreur de ligne de commande? De quel standard POSIX s’agit-il?

MODIFIER:

Je dois préciser que les messages d’erreur standard / recommandés m’intéressaient lors de l’parsing des arguments / options de ligne de commande.

Dans les liens ci-dessous (réponses), je n’ai trouvé que la mention de ce format d’erreur pour getopt:

"%s: illegal option -- %c\n", ,  "%s: option requires an argument -- %c\n", ,  

Est-ce tout?

IEEE Std 1003.1 il est. Voir errno.h , Numéros d’erreur . Également connu sous le nom de POSIX.1-2008 et versions antérieures (voir le wiki pour plus de détails sur les sections, les années, etc.).

Notez que les systèmes sont susceptibles d’avoir un ensemble étendu de numéros d’erreur et de messages qui leur sont associés. Par exemple, Linux prend en charge les numéros d’erreur définis par C99. Il pourrait également y avoir des erreurs spécifiques à la mise en œuvre. Voici errno.h de Linux pour référence.

Comme votre question concerne la fonction getopt() , vous recherchez probablement la spécification POSIX de la fonction getopt() . La spécification correspondant à cela renvoie à l’utilitaire getopts pour les messages d’erreur qu’il peut générer. La section de justification de l’utilitaire getopts décrit le format de certains messages d’erreur dans certaines implémentations existantes, mais ne les getopts pas.

Vous devez également consulter la spécification Utility Conventions pour les règles auxquelles un utilitaire POSIX se conforme normalement. (Il existe des écarts par rapport aux conventions, généralement en raison d’un précédent historique établi de longue date. Il existe généralement une variante définie qui correspond aux conventions POSIX.)