Declaracions de bucle en scripts de Shell: Hi ha un total de 3 declaracions de bucle que es poden utilitzar a la programació bash
Taula de contingut
- Declaració `while' a Shell Script a Linux
- Declaració `for` a l'script Shell a Linux
- Declaració 'fins' a Shell Script a Linux
- Exemples de declaracions de bucle
Per alterar el flux de declaracions de bucle, s'utilitzen dues ordres que són,
- trencar
- continuar
Les seves descripcions i sintaxis són les següents:
Declaració `while' a Shell Script a Linux
Aquí s'avalua l'ordre i s'executarà en funció del bucle resultant, si l'ordre s'eleva a fals, el bucle s'acabarà això.
#/bin/bash while do done>
Implementació del bucle `While` a l'script Shell.
Primer, creem un fitxer mitjançant un editor de text a Linux. En aquest cas, estem utilitzant l'editor `vim`.
vim looping.sh>
Podeu substituir looping.sh amb el nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x looping.sh>
#/bin/bash
a=0
# És menor que l'operador
#Iterar el bucle fins a menys de 10
mentre que [ $a -lt 10 ]
fer
# Imprimeix els valors
fet $a
# augmenta el valor
a=`expr $a + 1`
fet
Sortida:

While Loop a Linux
Explicació:
-
#/bin/bash>: Especifica que l'script s'ha d'interpretar mitjançant l'intèrpret d'ordres Bash. -
a=0>: Inicialitza una variablea>amb el valor 0. -
while [ $a -lt 10 ]>: inicia un bucle while que continua mentre el valora>és inferior a 10. -
do>: Marca l'inici del cos del bucle. -
echo $a>: Imprimeix el valor actual dea>la consola. -
a=>expr $a + 1 : Incrementa el valor dea>per 1. Elexpr>L'ordre s'utilitza per a expressions aritmètiques. -
done>: Marca el final del bucle.
Declaració `for` a l'script Shell a Linux
El bucle for opera en llistes d'elements. Repeteix un conjunt d'ordres per a cada element d'una llista.
Aquí var és el nom d'una variable i word1 a wordN són seqüències de caràcters separats per espais (paraules). Cada vegada que s'executa el bucle for, el valor de la variable var s'estableix a la paraula següent de la llista de paraules, paraula1 a paraulaN.
Sintaxi:
#/bin/bash for in do done>
Implementació del bucle `for` amb la instrucció `break` a l'script de Shell.
Primer, creem un fitxer mitjançant un editor de text a Linux. En aquest cas, estem utilitzant l'editor `vim`.
javatpoint java
vim for.sh>
Podeu substituir for.sh pel nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x for.sh>
#/bin/bash
#Inici del bucle for
per a en 1 2 3 4 5 6 7 8 9 10
fer# si a és igual a 5 trenca el bucle
si [ $a == 5 ]
aleshores
trencar
ser# Imprimeix el valor
fet Iteration no $a
fet
Sortida:

Break statement in for Loop a Linux
Explicació:
#/bin/bash>: Especifica que l'script s'ha d'interpretar mitjançant l'intèrpret d'ordres Bash.for a in 1 2 3 4 5 6 7 8 9 10>: inicia un bucle for que itera sobre els valors de l'1 al 10, assignant cada valor a la variablea>en cada iteració.do>: Marca l'inici del cos del bucle.if [ $a == 5 ]>: Comprova si el valor actuala>és igual a 5.then>: Marca l'inici del bloc condicional que s'ha d'executar si la condició és certa.break>: surt del bucle si la condició és certa.
fi>: Marca el final del bloc condicional.
echo 'Iteration no $a'>: Imprimeix un missatge que indica el número d'iteració actual.done>: Marca el final del bucle.
L'script configura un bucle for que itera sobre els valors de l'1 al 10. Durant cada iteració, comprova si el valora>és igual a 5. Si ho és, es surt del bucle utilitzant elbreak>declaració. En cas contrari, imprimeix un missatge que indica el número d'iteració actual. El bucle continua fins que completa totes les iteracions o fins que troba una instrucció break.
cadena multilínia javascript
Implementació del bucle `for` amb la instrucció `continue` a l'script de Shell.
Primer, creem un fitxer mitjançant un editor de text a Linux. En aquest cas, estem utilitzant l'editor `vim`.
vim for_continue.sh>
Podeu substituir for_continue.sh pel nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x for_continue.sh>
#/bin/bash
per a en 1 2 3 4 5 6 7 8 9 10
fer# si a = 5, continueu el bucle i
# no passeu a la línia 8si [ $a == 5 ]
aleshores
continuar
ser
fet Iteration no $a
fet
Sortida:

Continueu declaració en bucle for a Linux
Explicació:
-
#/bin/bash>: Especifica que l'script s'ha d'interpretar mitjançant l'intèrpret d'ordres Bash. -
for a in 1 2 3 4 5 6 7 8 9 10>: inicia un bucle for que itera sobre els valors de l'1 al 10, assignant cada valor a la variablea>en cada iteració. -
do>: Marca l'inici del cos del bucle. -
if [ $a == 5 ]>: Comprova si el valor actuala>és igual a 5.-
then>: Marca l'inici del bloc condicional que s'ha d'executar si la condició és certa.-
continue>: salta la resta del cos del bucle i passa a la següent iteració si la condició és certa.
-
-
fi>: Marca el final del bloc condicional.
-
-
echo 'Iteration no $a'>: Imprimeix un missatge que indica el número d'iteració actual. Aquesta línia es salta sia>és igual a 5 a causa de lacontinue>declaració. -
done>: Marca el final del bucle.
L'script configura un bucle for que itera sobre els valors de l'1 al 10. Durant cada iteració, comprova si el valora>és igual a 5. Si ho és, el bucle continua fins a la següent iteració sense executar les sentències restants al cos del bucle. En cas contrari, imprimeix un missatge que indica el número d'iteració actual. El bucle continua fins que completa totes les iteracions.
Declaració 'fins' a Shell Script a Linux
El bucle fins s'executa tantes vegades com la condició/ordre s'avalua com a fals. El bucle finalitza quan la condició/ordre esdevé certa.
Sintaxi:
#/bin/bash until do done>
Implementant el bucle `fins` a Shell Scrip
Primer, creem un fitxer mitjançant un editor de text a Linux. En aquest cas, estem utilitzant l'editor `vim`.
vim until.sh>
Podeu substituir fins. sh amb el nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt és més gran que l'operador
#Itereu el bucle fins que a sigui superior a 10fins a [ $a -gt 10 ]
fer# Imprimeix els valors
fet $a# augmenta el valor
a=`expr $a + 1`
fet
Sortida:

Fins al bucle a Linux
Explicació:
-
#/bin/bash>: Especifica que l'script s'ha d'interpretar mitjançant l'intèrpret d'ordres Bash. -
a=0>: Inicialitza una variablea>amb el valor 0. -
until [ $a -gt 10 ]>: inicia un bucle fins que continua mentre el valora>no és superior a 10. -
do>: Marca l'inici del cos del bucle. -
echo $a>: Imprimeix el valor actual dea>la consola. -
a=>expr $a + 1 : Incrementa el valor dea>per 1. Elexpr>L'ordre s'utilitza per a expressions aritmètiques. -
done>: Marca el final del bucle.
Nota: Els scripts d'intèrpret d'ordres són un llenguatge que distingeix entre majúscules i minúscules, el que significa que s'ha de seguir la sintaxi adequada mentre s'escriuen els scripts.
Exemples de declaracions de bucle
1. Iteració sobre colors utilitzant un bucle For
Primer, creem un fitxer mitjançant un editor de text a Linux. En aquest cas, estem utilitzant l'editor `vim`.
vim color.sh>
Podeu substituir color.sh pel nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x color.sh>
#/bin/bash
COLORS=vermell verd blau
# el bucle for continua fins que llegeix tots els valors dels COLORS
per COLOR a $COLORS
fer
echo COLOR: $COLOR
fet
Sortida:

Per fins a Linux
Explicació:
característiques de java
- Inicialització de colors:
COLORS='red green blue'>: Inicialitza una variable anomenadaCOLORS>amb una llista de valors de color separats per espais (vermell, verd i blau).
- Per a la iteració del bucle:
for COLOR in $COLORS>: inicia un bucle for que itera sobre cada valor delCOLORS>variable.- Cos del bucle:
echo 'COLOR: $COLOR'>: Imprimeix un missatge per a cada color, mostrant el valor del color actual.
- Cos del bucle:
- El bucle continua fins que processa tots els valors presents al fitxer
COLORS>variable.
Aquest exemple mostra un bucle for senzill a Bash, iterant sobre una llista de colors emmagatzemats al fitxerCOLORS>variable. El bucle imprimeix un missatge per a cada color, que indica el color actual que s'està processant. El bucle itera fins que s'esgoten tots els valors de color.
2. Creació d'un bucle infinit amb while true en Shell Script
Primer creem un fitxer amb un editor de text a Linux. En aquest cas estem utilitzant l'editor `vim`.
vim infinite.sh>
Podeu substituir infinite.sh pel nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
chmod +x infinite.sh>
#/bin/bash
mentre que és cert
fer# Ordre a executar
# sleep 1 indica que dorm durant 1 segon
echo Hola, sóc bucle infinit
dormir 1
fet
Sortida:

bucle infinit a linux
Explicació:
Estructura de bucle infinit:
while true>: Inicia un bucle while que continua indefinidament com a condiciótrue>sempre és cert.- Cos del bucle:
echo 'Hi, I am infinity loop'>: Imprimeix un missatge que indica que l'script està en un bucle infinit.sleep 1>: Atura l'execució del bucle durant 1 segon abans de la següent iteració.
- Cos del bucle:
- El bucle continua indefinidament, executant les ordres dins del seu cos repetidament.
Aquest exemple mostra la creació d'un bucle infinit utilitzant la construcció while true a Bash. El bucle imprimeix contínuament un missatge que indica el seu estat com a bucle infinit i inclou una ordre sleep 1, provocant un retard d'un segon entre iteracions. Sovint s'utilitzen bucles infinits per a processos que s'han d'executar contínuament fins que s'interrompen manualment.
3. Bucle interactiu de confirmació del nom
Primer creem un fitxer amb un editor de text a Linux. En aquest cas estem fent servir l'editor `vim`.
vim name.sh>
Podeu substituir name.sh pel nom desitjat.
A continuació, fem que el nostre script sigui executable mitjançant l'ordre `chmod` a Linux.
casos de prova conjunta
chmod +x name.sh>
#/bin/bash
CORRECTE=n
mentre que [ $ CORRECTE == n ]
fer# bucle s'interromp quan introduïu y, és a dir, quan el vostre nom és correcte
# -p significa un missatge que demana l'entradallegir -p Introduïu el vostre nom: NOM
llegir -p ${NAME} és correcte? CORRECTE
fet
Sortida:

Script interactiu a Linux
Explicació:
- Inicialització:
CORRECT=n>: Inicialitza una variable anomenadaCORRECT>amb el valor n. Aquesta variable s'utilitza per controlar el bucle.
- Bucle interactiu:
while [ '$CORRECT' == 'n' ]>: Inicia un bucle while que continua mentre el valor deCORRECT>és igual a n.- Cos del bucle:
read -p 'Enter your name:' NAME>: Demana a l'usuari que introdueixi el seu nom i emmagatzema l'entrada al fitxerNAME>variable.read -p 'Is ${NAME} correct? ' CORRECT>: Demana a l'usuari que confirmi si el nom introduït és correcte i actualitza elCORRECT>variable en conseqüència.
- Cos del bucle:
- El bucle continua fins que l'usuari introdueix y (indicant el nom correcte).
Aquest exemple mostra un bucle interactiu que demana a l'usuari que introdueixi el seu nom i després demana confirmació. El bucle continua fins que l'usuari confirma que el nom introduït és correcte introduint y. El bucle utilitza el ` read> `>comanda per a l'entrada de l'usuari i actualitza el fitxer ` CORRECT> `>variable per controlar el flux del bucle.
Conclusió
En aquest article hem parlat de declaracions de bucle en els scripts de Bash, que cobreixenwhile>,for>, iuntil>bucles. Introdueix l'ús debreak>icontinue>sentències per modificar el comportament del bucle. Exemples pràctics il·lustren la implementació de bucles, inclosa la iteració sobre valors de color, la creació de bucles infinits i la creació d'un bucle interactiu per a la validació de l'entrada de l'usuari. La guia ofereix un recurs concís però informatiu per entendre i utilitzar construccions de bucle en els scripts de Bash.