Android

Bash tot lus

Shell Scripting - For Loops

Shell Scripting - For Loops

Inhoudsopgave:

Anonim

Lussen zijn een van de fundamentele concepten van programmeertalen. Lussen zijn handig wanneer u een reeks opdrachten steeds opnieuw wilt uitvoeren totdat aan een specifieke voorwaarde is voldaan.

In scripttalen zoals Bash zijn lussen handig voor het automatiseren van repetitieve taken. Er zijn 3 basis lusconstructies in Bash scripting, voor lus, terwijl lus en tot lus.

Deze tutorial legt de basis uit van de kassa in Bash.

Bash tot Loop

De kringloop wordt gebruikt om een ​​bepaalde set opdrachten uit te voeren, zolang de gegeven voorwaarde als onwaar evalueert.

De Bash till-lus heeft de volgende vorm:

until do done

De voorwaarde wordt geëvalueerd voordat de opdrachten worden uitgevoerd. Als de voorwaarde onwaar is, worden opdrachten uitgevoerd. Als dit niet het geval is, wordt de lus beëindigd en wordt de programmabesturing doorgegeven aan de opdracht die volgt.

In het onderstaande voorbeeld drukt de lus bij elke iteratie de huidige waarde van de variabele counter en verhoogt de variabele met één.

#!/bin/bash counter=0 until do echo Counter: $counter ((counter++)) done

De lus wordt herhaald zolang de counter een waarde groter dan vier heeft. Het script zal de volgende uitvoer produceren:

Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5

Bash tot Loop Voorbeeld

Het volgende script kan handig zijn als je git host downtime heeft en in plaats van git pull meerdere keren handmatig te typen totdat de host online is, kun je het script een keer uitvoeren. Het zal proberen de repository op te halen totdat deze succesvol is opgehaald.

#!/bin/bash until git pull &> /dev/null do echo "Waiting for the git host…" sleep 1 done echo -e "\nThe git repository is pulled."

Het script zal "Wachten op de git host…" afdrukken en een seconde slapen totdat de git host online gaat. Zodra de repository is opgehaald, wordt afgedrukt: "De git-repository is opgehaald.".

Waiting for the git host… Waiting for the git host… Waiting for the git host… The git repository is pulled.

Conclusie

De while en until lussen zijn vergelijkbaar met elkaar, met als belangrijkste verschil dat de while lus itereert zolang de voorwaarde true en de till-lus itereert zolang de voorwaarde false .

bash lus terminal