2012-06-02 7 views
9

En ruby-doc.org page me encontré con lo siguiente acerca de las opciones de línea de comandos/argumentos de análisis sintáctico (biblioteca): getopt¿Cuál es el "formato definido POSIX" para mensajes de error en la línea de comandos? ¿Cual estándar?

devolver el mensaje de error correspondiente en el formato definido POSIX. Si no ha ocurrido ningún error, devuelve nil.

¿Qué es el formato definido por POSIX para los mensajes de error en la línea de comandos? ¿Qué estándar POSIX es?

EDIT:

debo aclarar que yo estaba interesado en los mensajes de error estándar/recomendados cuando analizar los argumentos de línea de comandos/opciones.

En los siguientes enlaces (respuestas) que se encuentran sólo citan este formato de error para getopt:

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

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

¿Es todo a ella?

Respuesta

3

IEEE Std 1003.1 es. Ver errno.h, Error Numbers. También conocido como POSIX.1-2008, y revisiones anteriores (ver wiki para más detalles sobre secciones, años, etc.).

Tenga en cuenta que es probable que los sistemas tengan un conjunto extendido de números de error y mensajes asociados a ellos. Por ejemplo, Linux admite números de error definidos por C99. También podría haber errores específicos de implementación. Aquí está el errno.h de Linux para referencia.

1

Dado que su pregunta es acerca de la función getopt(), es probable que usted esté buscando la especificación POSIX de la función getopt(). La especificación para eso difiere a la utilidad getopts para los mensajes de error que puede producir. La sección de justificación de la utilidad getopts describe el formato de algunos mensajes de error en algunas implementaciones existentes, pero no los obliga.

También debe consultar la especificación Utility Conventions para conocer las reglas a las que normalmente se atiene una utilidad POSIX. (Hay desviaciones de las convenciones, normalmente debido a un precedente histórico establecido hace mucho tiempo. Por lo general, se define una variación que coincide con las convenciones POSIX).

Cuestiones relacionadas