En Linux, cada comando que ejecutas devuelve un código de estado de salida (también llamado exit status o return code), que indica si se ejecutó correctamente o falló. Esta guía te explica cómo consultar estos códigos y por qué son esenciales para scripting y troubleshooting.
🔍 ¿Qué es el estado de salida?
-
0: Éxito (el comando se ejecutó sin errores).
-
No cero: Falla (el tipo de error determina el código numérico).
-
Variable
$?: Almacena el código del último comando ejecutado.
🛠️ Cómo verificar el estado
Ejemplo 1: Comando exitoso
ls echo $? # Salida: 0 (éxito)
Ejemplo 2: Comando fallido
ls /directorio_inexistente echo $? # Salida: 2 (error: directorio no existe)
Ejemplo 3: Uso en scripts
#!/bin/bash comando_arriesgado if [ $? -eq 0 ]; then echo "✅ Éxito" else echo "❌ Fallo" fi
⚡ Sintaxis rápida: && y ||
-
&&: Ejecuta el siguiente comando solo si el anterior tuvo éxito.ls /etc && echo "✅ Directorio encontrado"
-
||: Ejecuta el siguiente comando solo si el anterior falló.ls /inexistente || echo "❌ Directorio no existe"
📋 Códigos de estado comunes
| Código | Significado |
|---|---|
| 0 | Éxito |
| 1 | Error general |
| 2 | Uso incorrecto del comando |
| 126 | Comando no ejecutable |
| 127 | Comando no encontrado |
| 130 | Interrumpido con Ctrl+C |
| 255 | Estado de salida inválido |
💡 Consejos prácticos
-
Debugging: Usa
echo $?tras comandos críticos para detectar fallos. -
Scripts: Valida estados de salida para tomar decisiones automáticas.
-
Combinación: Encadena comandos con
&&y||para flujos condicionales.
¿Problemas con un comando? ¡Verifica su estado de salida antes de buscar soluciones complejas!
🔗 Más información: Bash Documentation
Dato clave: El código de error 127 suele indicar que el comando no está instalado o hay un error de escritura. ¡Verifica la ortografía! 🚀






