Break y continue

Clase 27 de 43Curso de Programación en Bash Shell

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.