Primer: Loops of Bash: For, While, y until

La mayoría de los lenguajes de programación admiten varias formas de líneas de código en bucle. Bash admite de forma nativa bucles ‘while’, bucles ‘until’ y bucles ‘for’, los más conocidos. Los tres se presentan y comentan en este artículo.

Deberíamos comenzar con la pregunta de qué son los bucles, para definir esto un poco mejor. Los bucles son una construcción del lenguaje de programación que permite a un desarrollador repetir ciertas partes, o todo, del código dentro de dicha definición de bucle (es decir, bucle). ¡Definir Bash Loops como cualquier construcción de lenguaje de programación de loops usado en Bash ahora es fácil! Bash admite bucles nativos basados \u200b\u200ben ‘for’, ‘until’ y ‘while’.

Cada uno de estos tiene sus propios beneficios, pero con solo mirar el modismo de la palabra principal, ya puede hacerse una idea de sus significados. Por ejemplo, ‘hasta’ lleva a uno a pensar naturalmente en ‘hacer algo hasta’ y esto realmente hace lo que hace un bucle Bash ‘hasta’; hasta que se cumpla una determinada condición, se repite una cierta cantidad de código (o todo).

Del mismo modo, hasta que una condición deje de ser cierta, los bucles «while» siguen funcionando. Finalmente, por ejemplo, un número definido de bucles \’for\’, similar a cómo escribiríamos \’por 70 veces, haz .

¿Qué son los bucles de Bash?

.

.

‘. Esto nos ayuda a comprender las características únicas que nos proporciona cada ciclo de manera lógica y a implementar un código más legible. Echaremos un vistazo a la forma más nueva de definir Bash para bucles a los efectos de este artículo. En Bash, por ejemplo, una definición algo más antigua, menos moderna, de bucles for puede verse así: for I in $ (seq 1 5); haz eco que hice. Compare esto con una búsqueda de bucle moderna, más limpia y mejor estructurada: esta simple frase de una sola línea para Bash (un término que se usa a menudo en los círculos de Linux / Bash para conceptualizar un mini-script escrito en una sola línea) imprimirá los números del 1 al 5 en orden secuencial. Al asignar el valor 1 al mismo que la primera parte de nuestra definición de ciclo, establecemos el valor inicial para la variable I que terminé con un delimitador.

Bucles de golpe base para

A continuación, especificamos que al usar i <= 5, solo tenemos uno para subir a 'menor o igual a cinco'. Luego indicamos lo que debería suceder al final de cada ronda, que es aumentar la variable I en uno, o representarla como i ++ en una abreviatura de codificación de uso común (incluido, por ejemplo, en el lenguaje C ++).

Finalmente, al usar do, es decir, después de terminar nuestra definición de bucle, especificamos el comienzo de nuestro código de bucle, como cualquier otra terminación de declaración, con; antes del hacer. Al usar done, también especificamos el final de nuestro código de ciclo y hacemos eco (imprimimos) el valor de nuestra variable I entre do y done.

En particular, también debe tenerse en cuenta que la cláusula do en sí misma no se termina y, al hacerlo, se produciría un error. Considere hacer lo que debe hacerse con un prefijo, y tiene más sentido.

Bash Loops mientras está basado

Esta puede ser una de las razones por las que a veces es más limpio poner las cosas en un script de varias líneas, ya que la última palabra en una línea puede ser simplemente el hacer. Seguiremos manteniendo las cláusulas do y done cuando definamos otros tipos de bucles, y siempre nos aseguraremos de que nuestra definición de bucle (es decir, antes de hacer) termine con ;, así como el final de cada declaración individual dentro de nuestra definición de do.

.

. bucle hecho con ;. Para ver más claramente cómo pueden funcionar las cosas de esa manera, pongamos esto en un pequeño script: ejecutamos lo mismo después de hacer que el script sea ejecutable con chmod + x test.

Hasta que Bash Loops en la base

sh. Se introdujeron algunos pequeños cambios en el guión. Observe cómo incrementamos la variable I en dos cada vez esta vez.

Esto se hizo usando otra forma abreviada de codificación, a saber, i + = 2, que se puede leer como I en dos aumentos. En el mismo lugar, también se puede escribir i = i + 2, y funciona exactamente igual.

Vemos que cada vez que pasamos por el ciclo, que termina en 9, comenzamos en 1 y aumentamos en 2. Que el valor máximo es 10 es la razón por la que termina en 9. Por lo tanto, el siguiente valor después de 9 sería 11, que es mayor que 10 y no se muestra / enlaza como resultado.

Observe también cómo después de la línea de eco, el; ha sido removido. Esto se debe a que si hay un estado / carácter de fin de línea en su lugar, no hay necesidad de terminar el final de una declaración. Este es el caso aquí; después del eco no tenemos otro comando y la línea termina inmediatamente (los espacios al final de la línea también estarían bien, el principio es simplemente no tener otro comando a menos que el nuevo comando tenga el prefijo (y termine por;) con el el anterior).

A continuación, veamos un bucle Bash: podemos definir un bucle Bash basado en while usando la misma definición de bucle do-done, que se ejecutará siempre que una condición dada sea verdadera. En este caso, estamos haciendo lo mismo que en nuestro primer ejemplo de bucle base. Si bien la definición parece más complicada (y, por lo tanto, un bucle for puede ser más adecuado para este caso de uso específico), es interesante ver cómo se puede definir un bucle while de la misma manera.

Primero configuramos nuestra variable I aquí, manualmente, en un comando separado terminado por;, en 1. Luego, comenzamos un ciclo while donde establecemos una condición para definir una declaración if de una manera muy similar (hay un enlace en el fin de este arte.