Looping is een inherente kunst, die uw werk eenvoudiger kan maken en u kan helpen repetitieve taken relatief gemakkelijk te automatiseren.
Stelt u zich een situatie voor waarin u een reeks cijfers of tekst moet bijwerken, en in plaats van dit handmatig te doen, laat u het systeem het voor u doen. Dit is de kracht van looping en de voordelen die het voor u oplevert.
Loops zijn als functie beschikbaar in bijna elke programmeertaal; Linux's Bash is geen uitzondering op deze regel.
Hier is een handleiding waarin wordt uitgelegd hoe u de for-lus in een shellscript kunt gebruiken.
De for Loop-structuur
Het gebruik van de for-lus in shell-scripts is redelijk eenvoudig en je kunt de structuur manipuleren om verschillende doelen te bereiken.
De basisstructuur is als volgt:
voor item in [LIST]
doen
[COMMANDO'S]
gedaan
Met een lus kunt u door numerieke en tekenwaarden bladeren, afhankelijk van de behoefte van het uur.
Verwant:Loops gebruiken in JavaScript
Hier is de structuur van een for-lus in een shellscript:
voor VARIABELE in 1 2 3 4 5.. N
doen
commando1
commando2
commandoN
gedaan
U kunt het aantal iteraties in de eerste regel definiëren. Zo vermeld je de beginwaarde en de eindwaarde.
Het aantal iteraties wordt bepaald door de waarden die u opgeeft, terwijl de code na de doen statement is de resulterende luswaarde.
Maken en uitvoeren voor loops in Linux Bash
Open de Linux-terminal om te beginnen met het schrijven van code.
Een teksteditor wordt gebruikt om het shellscript op te slaan, dat de gewenste resultaten afdrukt wanneer het wordt uitgevoerd. Ter illustratie zijn de opdrachten in deze handleiding geschreven in de nano tekstverwerker.
Type nano in de terminalopdrachtregel om de teksteditor te openen, gevolgd door de shellscriptnaam.
nano ForLoops.sh
U kunt de naam van het shellscript wijzigen in wat u maar wilt. De extensie is sh, aangezien u een shellscript opslaat.
Gehele getallen afdrukken met voor lussen
In dit gedeelte laten de volgende codes zien hoe u gehele getallen op een andere manier kunt afdrukken. Als u een for-lus in een shellscript wilt gebruiken om gehele getallen af te drukken, kunt u enkele van deze codevoorbeelden proberen.
1. Luscode om een reeks cijfers af te drukken
Zodra de editor is geopend, is het tijd om de code te schrijven.
#!/usr/bin/bash
voor ik in 1 2 3
doen
echo "Huidige # $i"
gedaan
Uitgang::
Waar:
- I = variabelenaam om de herhaalde waarden op te slaan
- 1 2 3 = aantal keren dat de for-lus in shellscript itereert
- doen = opdracht om een bepaalde reeks acties uit te voeren
- echo = print de hiernaast gedefinieerde resultaten
- gedaan = einde van de lus
Sla de code op in de teksteditor door op te drukken Ctrl + X. Sla het script op en sluit het af.
Verwant: Hoe te gebruiken voor, While en Do While-lussen in Java met voorbeelden
Voordat u de code uitvoert, moet u de machtigingen van het shellscript wijzigen.
Binnenkomen chmod +x gevolgd door de bestandsnaam van uw shellscript:
chmod +x Forloops.sh
Zodra de machtigingen zijn verleend, voert u de for-lus in uw shellscript uit door het volgende in te typen:
./Forloops.sh
De uitvoer wordt afgedrukt in het terminalvenster.
2. Alternatieve manier om een reeks cijfers af te drukken
Er zijn alternatieve manieren om een for-lus in een shellscript te definiëren. U kunt ook de begin- en eindwaarde van de herhalingen van de lus specificeren met behulp van accolades.
Hier is de codestructuur:
for i in {1..3} # a for lus definieert een variabele en hoeveel iteraties je door een lus wilt maken
doen
echo "Huidige # $i: Voorbeeld 2"
gedaan
De lus wordt drie keer uitgevoerd en de waarden worden op de volgende manier afgedrukt:
3. Luscode met behulp van stapwaarden
U kunt de stapwaarden in uw lus definiëren als u niet-opeenvolgend door de iteraties wilt gaan. Afhankelijk van de opgegeven waarde zal de output een vaste opening hebben.
Bijvoorbeeld:
voor i in {1..10..2}
doen
echo "Getal = $i"
gedaan
Waar:
- I = variabele om de iteraties op te slaan
- 1..10 = aantal iteraties om de lus uit te voeren
- 2 = stapwaarde
- doen = opdracht om de uitvoer af te drukken
- echo = printopdracht
- gedaan = exit-commando voor de lus
Uitgang::
De uitvoer heeft een verschil van twee, dat is opgegeven in de step-instructie.
Tekenwaarden afdrukken met voor lussen
For-lussen in shell-scripting zijn niet beperkt tot alleen gehele getallen. In Bash kun je een for-lus gebruiken om effectief door tekens en tekenreekswaarden te bladeren.
1. Door snaren doorlussen
Hier is een eenvoudig voorbeeld van hoe u enkele tekenreekswaarden kunt doorlopen (gedefinieerd in de for-instructie):
voor naam in John Jack Mary
doen
echo "Mijn naam is $naam"
gedaan
Waar:
- naam = variabele om de tekenreekswaarden op te slaan
- doen = opdracht om de uitvoer af te drukken
- echo = printopdracht
- gedaan = exit-commando voor de lus
Uitgang::
Deze for-lus wordt drie keer herhaald, omdat er alleen drie tekenreekswaarden opgegeven in de voor stelling.
2. Door strings doorlussen met voorwaarden
Wat als u enkele logische voorwaarden wilt doorgeven om de lus halverwege te beëindigen? Voor dit doel kunt u logische instructies gebruiken, zoals de ALS stelling. De IF-instructie bepaalt hoe de lus zal werken en welke uitvoer als resultaat wordt afgedrukt.
voor element in waterstof helium lithium beryllium; doen
if [[ "$element" == 'Lithium' ]]; dan
pauze
fi
echo "Element: $element"
gedaan
echo 'Alles klaar!'
Verwant:Loops gebruiken met lijsten in PythonZodra de waarde van het element gelijk is aan Lithium, wordt de lus beëindigd en wordt de uitvoer afgedrukt. De lus loopt totdat niet meer aan de voorwaarde wordt voldaan.
Aangezien lithium de derde plaats in de lijst met waarden is, wordt de lus twee iteraties uitgevoerd voordat de uiteindelijke uitvoer wordt afgedrukt Helemaal klaar!.
Loops uitvoeren in Linux Bash
Loops zijn een essentieel onderdeel van de Linux-shellstructuur, die de functie van Linux-scripts aanzienlijk kan verbeteren.
Als u repetitieve uitvoer moet afdrukken, is er niets beters dan lussen in Bash-scripts. Zoals we eerder vermeldden, zijn loops beschikbaar in bijna elke programmeertaal, en Python is daarop geen uitzondering. Knip herhaling uit en leef volgens de DRY (Don't Repeat Yourself) code.
For Loops is een essentiële programmeervaardigheid. Leer hier hoe u ze in Python kunt gebruiken.
Lees volgende
- Programmeren
- Linux
- Linux
- Linux Bash Shell
- Programmeren
Gaurav Siyal heeft twee jaar schrijfervaring en schreef voor een reeks digitale marketingbedrijven en documenten over de levenscyclus van software.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren