Com utilitzar les declaracions Break and Continue als scripts de Shell
En aquest article, veurem com utilitzar una pausa i continuar amb els scripts bash. A bash, tenim tres construccions de bucle principals (for, while, until). Les declaracions Break and continue estan integrades en bash i s'utilitzen per alterar el flux dels vostres bucles. Aquest concepte de break and continue està disponible en llenguatges de programació populars com Python.
$ type -a break continue
Sortiu del bucle amb una instrucció Break
La instrucció break sortirà del bucle i el control es passa a la següent instrucció del bucle. Podeu executar l'ordre help per obtenir informació sobre la instrucció break.
$ help break
La sintaxi bàsica de break.
$ break [n] n is optional
Mireu l'exemple següent. Aquest és un bucle for senzill que itera sobre un rang de valors d'1 a 20 en un pas incremental de 2. La instrucció condicional avaluarà l'expressió i, quan sigui cert ($val = 9), executarà la instrucció break i el bucle s'acabarà saltant les iteracions restants.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Omet una iteració amb la instrucció continue
Què passa si no voleu sortir completament del bucle però saltar-vos el bloc de codi quan es compleix una determinada condició? Això es pot fer amb una declaració de continuació. La instrucció continue saltarà l'execució del bloc de codi quan es compleixi una determinada condició i el control es torni a passar a la instrucció de bucle per a la següent iteració.
Per accedir a l'ajuda.
$ help continue
Mireu l'exemple següent. Aquest és el mateix exemple que hem utilitzat per demostrar la instrucció break. Ara, quan Val s'avalua a nou, la instrucció continue saltarà tots els blocs de codi restants i passarà el control al bucle for per a la següent iteració.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Si coneixíeu Python, el comportament de trencar i continuar també és el mateix a Python. Però Python proporciona una declaració de control de bucle més anomenada pass.
Pass és com una instrucció nul·la i l'intèrpret la llegirà però no realitzarà cap operació. Simplement no resulta en cap operació. Bash no proporciona una declaració similar, però podem emular aquest comportament utilitzant la paraula clau o els dos punts veritables (:). Tant el veritable com els dos punts estan integrats a l'intèrpret d'ordres i no realitzen cap operació.
$ type -a : true
Mireu l'exemple següent. Quan s'avalua que una declaració condicional és vertadera ($val = 9), la declaració vertadera no farà res i el bucle continuarà.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
Això és tot per aquest article. Ens encantaria escoltar els vostres valuosos comentaris i qualsevol consell que tingueu.