Skip to main content

Cómo escribir Bash WHILE-Loops

La Última Vez - Anuel AA ✘ Bad Bunny [Video Lyric] (Abril 2025)

La Última Vez - Anuel AA ✘ Bad Bunny [Video Lyric] (Abril 2025)
Anonim

Puede ejecutar una secuencia de comandos escribiéndolos en un archivo de script y luego ejecutándolos.

Un archivo de secuencia de comandos es simplemente un archivo de texto, generalmente con la extensión de archivo .SH, que contiene una secuencia de instrucciones que también podrían ejecutarse desde la línea de comandos (shell).

Mientras que los ejemplos de bucle

A continuación se muestra un ejemplo de un bucle while. Cuando se ejecute, este archivo de script imprimirá los números del 1 al 9 en la pantalla. La instrucción while le da más flexibilidad para especificar la condición de terminación que el bucle for.

Por ejemplo, puede hacer que la secuencia de comandos anterior sea un bucle infinito al omitir la declaración de incremento "((count ++))":

La instrucción "dormir 1" detiene la ejecución durante 1 segundo en cada iteración. Utilice el método abreviado de teclado Ctrl + C para finalizar el proceso.

También puede crear un bucle infinito poniendo dos puntos como condición:

Para utilizar varias condiciones en el bucle while, debe usar la notación de corchete doble:

En esta secuencia de comandos, la variable "hecho" se inicializa a 0 y luego se establece en 1 cuando el conteo llega a 5. La condición de bucle indica que el bucle while continuará siempre que "conteo" sea menor que nueve y "hecho" sea igual a cero. Por lo tanto, los bucles salen cuando la cuenta es igual a 5.

El "&&" significa lógico "y" y "||" significa lógico "o".

Una notación alternativa para las conjunciones "y" y "o" en condiciones es "-a" y "-o" con corchetes simples. La condición anterior:

… podría reescribirse como

La lectura de un archivo de texto normalmente se realiza con un bucle while. En el siguiente ejemplo, la secuencia de comandos bash lee los contenidos línea por línea de un archivo llamado "inventory.txt:"

La primera línea asigna el nombre del archivo de entrada a la variable "ARCHIVO". La segunda línea guarda la "entrada estándar" en el descriptor de archivo "6" (podría ser cualquier valor entre 3 y 9). Esto se hace para que la "entrada estándar" se pueda restaurar al descriptor de archivo "0" al final de la secuencia de comandos (consulte la declaración "exec 0 En la tercera línea, el archivo de entrada se asigna al descriptor de archivo" 0 ", que se usa para la entrada estándar. La declaración de "lectura" lee una línea del archivo en cada iteración y la asigna a la variable "línea1".

Para salir prematuramente de un bucle while, puede usar la instrucción break como esta:

La instrucción break omite la ejecución del programa hasta el final mientras realiza un bucle y ejecuta cualquier instrucción que lo siga. En este caso, el enunciado "echo finalizado".

La instrucción continue, por otro lado, omite solo el resto de la instrucción while loop de la iteración actual y salta directamente a la siguiente iteración:

En este caso, la instrucción "continuar" se ejecuta cuando la variable "recuento" alcanza 5. Esto significa que la instrucción subsiguiente (eco "$ recuento") no se ejecuta en esta iteración (cuando el valor de "recuento" es 5).