Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
Break y continue
Resumen
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.