Cómo usar hasta que bucle en sus scripts de shell

Cómo usar hasta que bucle en sus scripts de shell

En Bash para, mientras, y hasta son tres construcciones de bucle. Mientras que cada bucle difiere sintácticamente y funcionalmente, su propósito es iterar sobre un bloque de código cuando se evalúa una determinada expresión.

Hasta El bucle se usa para ejecutar un bloque de código hasta que la expresión se evalúa como falsa. Esto es exactamente lo opuesto a un bucle de tiempo. Mientras que Loop ejecuta el bloque de código mientras la expresión es verdadera y hasta Loop hace lo contrario.

Hasta que [expresión] haga bloque de código ... hecho 

Desglosemos la sintaxis.

  • Para iniciar el bucle, debe usar hasta la palabra clave seguida de una expresión dentro de aparatos ortopédicos simples o dobles.
  • La expresión debe evaluarse como falsa hasta que comience a ejecutar el bloque de código.
  • El bloque real de código se coloca entre Do y Hecho.

En este breve artículo, aprenderá cómo usar hasta que el bucle en sus scripts de shell utilizando los siguientes ejemplos.

Crear un bucle infinito en scripts

Puede crear un bucle infinito usando un FALSO Declaración como expresión. Cuando intentes simular bucles infinitos, intente usar dormir que pasará el guión periódicamente.

count = 0 hasta que falso do echo "contador = $ count" ((count ++)) Sleep 2 Hecho 
Crear bucle infinito en Linux

Crear declaraciones de línea única

Puede crear declaraciones de bucle de una sola línea. Eche un vistazo al siguiente código. Esto es lo mismo que nuestro primer ejemplo de bucle infinito pero en una sola línea. Aquí tienes que usar un punto y coma (;) Para terminar cada declaración.

# hasta que false; hacer echo "contador = $ count"; ((contar ++)); dormir 2; hecho 
Declaración de una sola línea

Alterar el flujo con la declaración Break and Continir

Puede usar un descanso y continuar las declaraciones dentro mientras bucle. El romper La declaración saldrá fuera del bucle y pasará el control a la siguiente declaración, mientras que la instrucción Continuar se omitirá la iteración actual e iniciará la siguiente iteración en el bucle.

Estoy usando el mismo ejemplo de bucle infinito. Aquí cuando el recuento es igual a cinco continuar La declaración saltará a la próxima iteración omitiendo el resto del cuerpo del bucle. Del mismo modo, el bucle brote Cuando el recuento es igual o mayor que 10.

count = 0 hasta falso do ((count ++)) if [[$ count -eq 5]] Entonces continúe elif [[$ count -ge 10]] y luego rompa fi -eco "contador = $ count" hecho "hecho 
Romper y continuar la declaración

Eso es todo para este artículo. Te atraparemos con otro artículo interesante pronto 'hasta'Entonces sigue leyendo y sigue apoyándonos.