¿Existe un formato "estándar" para el texto de ayuda de la línea de comando/shell?

Resuelto Yifan asked hace 12 años • 9 respuestas

En caso negativo, ¿existe una norma de facto? Básicamente estoy escribiendo un texto de ayuda de línea de comando como este:

usage: app_name [options] required_input required_input2
  options:
    -a, --argument     Does something
    -b required     Does something with "required"
    -c, --command required     Something else
    -d [optlistitem1 optlistitem 2 ... ]     Something with list

Lo hice básicamente leyendo el texto de ayuda de varias herramientas, pero ¿hay una lista de pautas o algo así? Por ejemplo, ¿uso corchetes o paréntesis? ¿Cómo utilizar el espaciado? ¿Qué pasa si el argumento es una lista? ¡Gracias!

Yifan avatar Mar 16 '12 01:03 Yifan
Aceptado

Normalmente, el resultado de su ayuda debería incluir:

  • Descripción de lo que hace la aplicación
  • Sintaxis de uso, que:
    • Se utiliza [options]para indicar dónde van las opciones.
    • arg_namepara un argumento singular requerido
    • [arg_name]para un argumento singular y opcional
    • arg_name...para un argumento requerido del cual puede haber muchos (esto es raro)
    • [arg_name...]para un argumento para el cual se puede proporcionar cualquier número
    • Tenga en cuenta que arg_namedebe ser un nombre corto y descriptivo, en minúsculas y en mayúsculas y minúsculas.
  • Una lista de opciones muy bien formateada, cada una:
    • tener una breve descripción
    • mostrando el valor predeterminado, si lo hay
    • mostrando los valores posibles, si corresponde
    • Tenga en cuenta que si una opción puede aceptar un formulario corto (p. ej. -l) o uno largo (p.ej. --list), inclúyalos juntos en la misma línea, ya que sus descripciones serán las mismas.
  • Breve indicador de la ubicación de los archivos de configuración o variables de entorno que podrían ser la fuente de los argumentos de la línea de comando, por ejemploGREP_OPTS
  • Si existe una página de manual indicar como tal, en caso contrario, un breve indicador de dónde se puede encontrar ayuda más detallada

Tenga en cuenta además que es una buena forma aceptar ambos -hy --helpactivar este mensaje y que debe mostrar este mensaje si el usuario confunde la sintaxis de la línea de comandos, por ejemplo, omite un argumento requerido.

davetron5000 avatar Mar 15 '2012 19:03 davetron5000

Échale un vistazo a docopt . Es un estándar formal para documentar (y analizar automáticamente) argumentos de línea de comando.

Por ejemplo...

Usage:
  my_program command --option <argument>
  my_program [<optional-argument>]
  my_program --another-option=<with-argument>
  my_program (--either-that-option | <or-this-argument>)
  my_program <repeating-argument> <repeating-argument>...
Lily Finley avatar Sep 12 '2014 18:09 Lily Finley