Cómo utilizar sentencias de interrupción y continuación en scripts de shell

En este artículo, veremos cómo usar un descanso y continuar en scripts bash. En bash, tenemos tres construcciones de bucle principales ( para , mientras , hasta ). Las declaraciones de &ltstrong&gtruptura&lt/strong&gt y continuación están integradas en bash y se utilizan para alterar el flujo de sus bucles. Este concepto de romper y continuar está disponible en lenguajes de programación populares como Python .

$ type -a break continue

Comandos integrados de BashComandos integrados de Bash

Salga del bucle con una declaración de ruptura

La sentencia break saldrá del ciclo y el control se pasa a la siguiente sentencia del ciclo. Puede ejecutar el comando de ayuda para obtener información sobre la declaración de interrupción .

$ help break

Comando de ayuda para romperComando de ayuda para romper

La sintaxis básica de break.

$ break [n]

n is optional

Eche un vistazo al siguiente ejemplo. Este es un ciclo 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) , ejecutará la declaración break y el bucle terminará 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

Declaración de rupturaDeclaración de ruptura

Omitir una iteración con Continuar declaración

¿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 de continuación . La instrucción continue omitirá la ejecución del bloque de código cuando se cumpla una determinada condición y el control se devuelva a la instrucción de bucle para la siguiente iteración.

Para acceder a la ayuda.

$ help continue

Continuar ayudaContinuar ayuda

Eche un vistazo al siguiente ejemplo. Este es el mismo ejemplo que usamos para demostrar la declaración break. Ahora, cuando Val se evalúa a 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

Continuar declaraciónContinuar declaración

Si conocía Python , el comportamiento de romper y continuar es el mismo en Python también. 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 resulta en ninguna operación. Bash no proporciona una declaración similar, pero podemos emular este comportamiento usando una palabra clave verdadera o dos puntos (:) . Tanto el verdadero como los dos puntos están integrados en el shell y no realizan ninguna operación.

$ type -a : true

True and Colon Shell incorporadoTrue and Colon Shell incorporado

Eche un vistazo al siguiente ejemplo. Cuando se evalúa que una declaración condicional es verdadera ($ val = 9) , 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

Declaración de aprobaciónDeclaración de aprobación

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

Bash Shell , Secuencias de comandos de Shell

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux