← Todas las guías

Guía defensiva

¿Cómo leer códigos de salida Bash sin confundir ausencia y error?

En Bash, cero suele indicar éxito y un valor distinto de cero requiere interpretación. Un filtro puede informar que no hubo coincidencias sin que eso sea un fallo operativo.

Define el resultado esperado

Antes de filtrar datos de práctica, escribe qué significan una coincidencia, ninguna coincidencia y un error de lectura. grep usa el estado 1 cuando no selecciona líneas y un valor mayor para errores.

Ejemplo resuelto: grep no encuentra el patrón denegado y devuelve 1; para una búsqueda de presencia, el informe registra cero coincidencias. Si no pudo leer el archivo, el resultado se clasifica como error, no como ausencia.

Observa cada tramo

Un pipeline entrega salida de una orden a otra, pero Bash usa por defecto el estado de la última orden. Un contador final puede ocultar que un filtro anterior no leyó la fuente como se esperaba.

pipefail hace que el pipeline informe un estado distinto de cero si alguno de sus tramos falla. Todavía hay que distinguir una ausencia prevista de un error que requiere detenerse o avisar.

Conserva evidencia

Prueba primero con un archivo pequeño y controlado. Guarda los pasos, estados observados y una muestra autorizada para que otra persona pueda repetir la lectura.

Un código de salida describe el resultado de una herramienta, no la causa de los eventos. No uses un conteo como diagnóstico de un incidente.

Conecta con la práctica

La lección gratuita de Bash presenta comandos, salida y conexiones entre herramientas. Es el puente para ubicar un pipeline; no evalúa códigos de salida ni pipefail.

Formula una pregunta limitada sobre archivos de práctica. No redirijas sobre evidencia ni ejecutes cambios para comprobar un código.

Fuentes para profundizar