Domina el control de flujo en Bash con break y continue. Aquí verás cómo detener por completo un bucle o saltar a la siguiente iteración según condiciones reales sobre nombres de archivos. Con un ejemplo práctico en Ubuntu, entenderás cuándo usar cada sentencia y qué efecto produce en un for que recorre un directorio.
¿Qué hacen break y continue en Bash?
Las sentencias de iteración requieren control claro. break sale del bucle actual de inmediato. continue salta el resto del cuerpo y pasa a la siguiente vuelta. Esto es útil cuando una validación o un cálculo determina que debes detener el proceso o ignorar temporalmente un elemento.
break: termina el bucle ante una condición de parada definida.
continue: evita ejecutar el resto y sigue con el siguiente elemento.
Se usan con if, elif, else para decisiones claras.
Facilitan filtros por nombre o tamaño de archivo.
¿Cómo implementar break y continue en un for sobre archivos?
El ejemplo recorre archivos del directorio. Si el nombre coincide con uno específico, se usa break. Si el nombre comienza con “4-”, se usa continue. En otro caso, se imprime el nombre.
#!/usr/bin/env bash# 19-break-continue.shecho"Sentencias: break y continue"forarchivoin *;doif[["$archivo"=="download.sh"]];thenbreak# Rompe el bucle al encontrar el archivo objetivo.elif[["$archivo"==4-* ]];thencontinue# Salta archivos que empiezan con 4-.elseecho"$archivo"# Imprime los demás archivos.fidone
for archivo in *: recorre todos los archivos del directorio actual.
if igual a "download.sh": condición de salida con break.
elif patrón 4-*: filtrado con comodines y continue.
else: salida normal con echo.
Buenas prácticas clave en Bash:
Usa comillas para variables: evita expansiones inesperadas.
Respeta espacios en condiciones: [[ expr ]] requiere espacios.
Emplea patrones con globbing: 4-* coincide con nombres que empiezan por 4-.
Organiza el flujo con if, elif, else para legibilidad.
¿Qué resultado y aprendizajes clave ofrece el ejemplo?
El recorrido imprime nombres que no coinciden con los filtros, demostrando el efecto real de cada sentencia.
Archivos 4-*: no se imprimen porque se aplica continue.
Archivo "download.sh": al encontrarlo, break detiene el bucle.
Se observan salidas como 2-, 3-, 5-, 6-, 7-, 8-, 9- impresas.
"10" no aparece porque el bucle se rompe al cumplirse la condición.
Conceptos y habilidades reforzadas:
Sentencias de iteración con un bucle for.
Control de flujo con break y continue.
Validaciones con if, elif, else sobre nombres de archivo.
Uso de patrones y comodines para filtros rápidos.
Edición y ejecución del script en Ubuntu.
¿Te gustaría ver variantes con otras condiciones o añadir validaciones nuevas? Deja tus preguntas y casos de uso en los comentarios.