Lección 18 / 20

Comprobación de argumentos y manejo de errores

En esta lección harás que el guion se detenga con un mensaje claro cuando le falte información.

$# contiene cuántos argumentos se recibieron. El operador >&2 manda el mensaje a la salida de error en lugar de a la salida normal, y exit 1 termina el guion indicando que algo falló.

El código de ejemplo comprueba que hay argumentos y avisa cuando no los hay.

Ese >&2 parece un adorno y no lo es. Los mensajes de error tienen que ir por un canal distinto para que, cuando alguien haga ./guion.sh > resultado.txt, los errores sigan viéndose en pantalla en lugar de colarse en el archivo de resultados. Es la diferencia entre un guion que se puede encadenar con otros y uno que no.

La comprobación de argumentos al principio es de esas costumbres que ahorran incidentes serios. Un guion que hace rm -rf "$1/tmp" sin comprobar nada, lanzado sin argumento, ejecuta rm -rf "/tmp". Tres líneas de comprobación al principio evitan ese tipo de historia.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Shell Script directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)