Cómo Verificar el Estado de Salida de Comandos en Linux

Published:

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! 🚀

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles