Wéi benotzen ech Break a Continue Aussoen a Shell Scripten
An dësem Artikel wäerte mir kucken wéi eng Paus ze benotzen a weider an Bash Scripten. Am Bash hu mir dräi Haaptschleifkonstruktioune (fir, während, bis). Break a weider Aussoen sinn bash agebaut a benotzt fir de Flux vun Äre Loops z'änneren. Dëst Konzept vu Paus a weider ass verfügbar a populäre Programméierungssprooche wéi Python.
$ type -a break continue
Gitt d'Loop eraus mat enger Break Statement
D'Paus Ausso wäert aus der Loop erausgoen an d'Kontroll gëtt op déi nächst Ausso an der Loop iwwerginn. Dir kënnt d'Hëllefbefehl ausféieren fir e puer Informatiounen iwwer d'Paus Ausso ze kréien.
$ help break
D'Basis Syntax vun Paus.
$ break [n] n is optional
Huelt e Bléck op d'Beispill hei ënnen. Dëst ass eng einfach Loop déi iwwer eng Rei vu Wäerter vun 1 bis 20 an engem inkrementelle Schrëtt vun 2 iteréiert. Déi bedingungsvoll Ausso evaluéiert den Ausdrock a wann et wouer ass ($val = 9) da leeft se d'Paus Ausso an d'Loop gëtt ofgeschloss andeems déi verbleiwen Iteratiounen iwwersprangen.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Sprangen eng Iteratioun mat weider Ausso
Wat wann Dir net komplett aus der Loop wëllt erausgoen, awer de Block vum Code iwwersprangen wann eng gewësse Konditioun erfëllt ass? Dëst kann mat enger weider Ausso gemaach ginn. D'Fortsetzung Ausso wäert d'Ausféierung vum Codeblock iwwersprangen wann eng gewëssen Konditioun erfëllt ass an d'Kontroll gëtt zréck an d'Loop Ausso fir déi nächst Iteratioun weiderginn.
Fir Zougang zu Hëllef.
$ help continue
Huelt e Bléck op d'Beispill hei ënnen. Dëst ass datselwecht Beispill dat mir benotzt hunn fir d'Paus Ausso ze demonstréieren. Elo wann de Val op néng evaluéiert gëtt, da spréngt d'Fortsetzungserklärung all déi verbleiwen Codeblocken iwwer a passéiert d'Kontroll un d'Loop fir déi nächst Iteratioun.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Wann Dir de Python wousst, da Paus a weider Verhalen ass och am Python datselwecht. Awer Python bitt eng méi Loop Kontrollerklärung genannt Pass.
Pass ass wéi eng Null Ausso an den Dolmetscher liest et awer wäert keng Operatioun ausféieren. Et resultéiert einfach keng Operatioun. Bash liwwert keng ähnlech Ausso awer mir kënnen dëst Verhalen mat engem richtege Schlësselwuert oder Colon (:) emuléieren. Béid richteg a Colon si Shell agebaut a maachen keng Operatioun.
$ type -a : true
Huelt e Bléck op d'Beispill hei ënnen. Wann eng bedingt Ausso als richteg bewäert gëtt ($val = 9), da wäert déi richteg Ausso näischt maachen an d'Loop geet weider.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
Dat ass et fir dësen Artikel. Mir géife gären Äre wäertvolle Feedback an all Tipps ze héieren.