Break y continue
Clase 27 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
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.sh
echo "Sentencias: break y continue"
for archivo in *; do
if [[ "$archivo" == "download.sh" ]]; then
break # Rompe el bucle al encontrar el archivo objetivo.
elif [[ "$archivo" == 4-* ]]; then
continue # Salta archivos que empiezan con 4-.
else
echo "$archivo" # Imprime los demás archivos.
fi
done
- 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.