GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo buscar códigos de salida para aplicaciones?

Tengo dificultades para encontrar una lista completa y actualizada de códigos de error de Bash. por ejemplo:

$ udevadm info /dev/sdx; echo Exit code $?
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Exit code 4

¿Cómo se supone que uno debe buscar esos códigos de salida?

Respuesta aceptada:

tl;dr Los códigos de salida son específicos de la aplicación.

Hay algunas convenciones sueltas. false y cualquier cosa exitosa con el prefijo ! (como ! true ) en los shells POSIX devuelven el código de salida 1, pero un desarrollador puede usar cualquier código de salida entre 0 y 255 para lo que quiera. En última instancia, debe mirar su documentación (en el mejor de los casos) o el código (en el peor de los casos) para saber qué significa. Para programas con man los códigos de salida de las páginas a menudo se enumeran en una sección denominada EXIT STATUS (Herramientas GNU como find ).

Algunos significados populares se enumeran en /usr/include/sysexits.h – Trato de usarlos siempre que sea posible. Como señala @AnsgarEsztermann, estas no son una referencia de Bash, ni siquiera una referencia de aplicación, excepto para aquellos que eligen usarla (desarrolladores de C/C++ principalmente de acuerdo con el ABS).


Linux
  1. ¿Cómo personalizo el aspecto del Panel de control para mis clientes?

  2. Cómo esperar la salida de procesos no secundarios

  3. ¿Cómo salir si falla un comando?

  4. ¿Cómo obtener el código de salida del proceso generado en el script de shell esperado?

  5. Mejor reemplazo para exit(), atexit() en C

Comando de salida de Bash y códigos de salida

¿Las aplicaciones de Flatpak parecen fuera de lugar? Aquí se explica cómo aplicar temas GTK en aplicaciones Flatpak

Cómo imprimir una tarjeta de código QR para conectarse a su WiFi

Códigos de salida de la línea de comandos de Bash desmitificados

Cómo desinstalar aplicaciones WINE

¿Cómo puedo generar cobertura de código para paquetes Swift en Linux u OS X?