Búsqueda de sitios web

Cómo utilizar declaraciones de interrupción y continuación en scripts de Shell


En este artículo, veremos cómo utilizar un interrupción y continuar en scripts bash. En bash, tenemos tres construcciones de bucle principales (para, mientras, hasta). Las declaraciones Break y continue están integradas en bash y se utilizan para alterar el flujo de los bucles. Este concepto de interrupción y continuación está disponible en lenguajes de programación populares como Python.

type -a break continue

Salga del ciclo con una declaración de interrupción

La instrucción break saldrá del bucle y el control pasará a la siguiente instrucción del bucle. Puede ejecutar el comando help para obtener información sobre la declaración break.

help break

La sintaxis básica de break.

break [n]

n is optional

Eche un vistazo al siguiente ejemplo. Este es un bucle for simple que itera sobre un rango de valores de 1 a 20 en un paso incremental de 2. La declaración condicional evaluará la expresión y cuando sea verdadera($val=9) entonces ejecutará la instrucción break y el ciclo finalizará omitiendo las iteraciones restantes.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done

Saltar una iteración con la declaración continuar

¿Qué sucede si no desea salir completamente del bucle pero omitir el bloque de código cuando se cumple una determinada condición? Esto se puede hacer con una declaración continuar. La instrucción continue omitirá la ejecución del bloque de código cuando se cumpla una determinada condición y el control se devolverá a la instrucción de bucle para la siguiente iteración.

Para acceder a la ayuda.

help continue

Eche un vistazo al siguiente ejemplo. Este es el mismo ejemplo que usamos para demostrar la declaración de ruptura. Ahora, cuando Val se evalúe como nueve, la instrucción continue omitirá todos los bloques de código restantes y pasará el control al bucle for para la siguiente iteración.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Si conocía python, el comportamiento de interrupción y continuar también es el mismo en Python. Pero Python proporciona una declaración de control de bucle más llamada pase.

Pass es como una declaración nula y el intérprete la leerá pero no realizará ninguna operación. Simplemente no resulta en ninguna operación. Bash no proporciona una declaración similar, pero podemos emular este comportamiento usando la palabra clave verdadera o dos puntos(:). Tanto verdadero como dos puntos están integrados en el shell y no realizan ninguna operación.

type -a : true

Eche un vistazo al siguiente ejemplo. Cuando una declaración condicional se evalúa como verdadera($val=9), entonces la declaración verdadera no hará nada y el ciclo continuará.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

Eso es todo por este artículo. Nos encantaría escuchar sus valiosos comentarios y cualquier consejo que tenga.