¿Cuál es la "forma Unix" para que una aplicación CLI informe que no se especifican argumentos?

¿Cuál es la "forma Unix" para que una aplicación CLI informe que no se especifican argumentos?

Estoy desarrollando una aplicación que me gustaría seguir al "estilo Unix".

¿Para qué debo programarlo en caso de que se llame sin argumentos (lo cual no tiene sentido práctico)?

  • mostrar un mensaje de error
  • mostrar ayuda, o
  • ¿Salir silenciosamente y regresar 0considerando que la tarea especificada (que no es nada que hacer) se realizó con éxito?

Respuesta1

Eso depende de qué tipo de argumentos espera su aplicación. Si procesa archivos, es tradicional leer desde la entrada estándar y escribir en la salida estándar si no se especifican argumentos (ejemplo: cat, tee,…). Si la aplicación tiene un modo interactivo, iníciela si no se especifican argumentos (ejemplo: sh, ed). Si la aplicación espera que funcione un objeto, muestra un mensaje de error y sale con un estado distinto de cero (ejemplo: cp, rm). Si la aplicación espera un comando, muestra un mensaje de uso y sale con un estado distinto de cero (ejemplo: sed, tar).

Respuesta2

Variantes más comunes:

  • muestra una versión corta de la ayuda de la aplicación con la cláusula "Para ver la ayuda completa, escriba nombre-aplicación --help";

  • mostrar créditos y licencia;

  • "error: no se ha especificado ninguna operación (use -h para obtener ayuda)".

información relacionada