Android

Bash indtil loop

Are you using this tool to bash yourself in the head?

Are you using this tool to bash yourself in the head?

Indholdsfortegnelse:

Anonim

Loops er et af de grundlæggende begreber i programmeringssprog. Loops er praktisk, når du vil køre en række kommandoer igen og igen, indtil en bestemt betingelse er opfyldt.

I scripting-sprog som Bash er løkker nyttige til at automatisere gentagne opgaver. Der er 3 grundlæggende løkkekonstruktioner i Bash-scripting, til loop, while loop og indtil loop.

Denne tutorial forklarer det grundlæggende i indtil loop i Bash.

Bash indtil Loop

Indtil-sløjfen bruges til at udføre et givet sæt kommandoer, så længe den givne tilstand evalueres til falsk.

Bash indtil loop har følgende form:

until do done

Betingelsen evalueres, før kommandoerne udføres. Hvis betingelsen evalueres til falske, udføres kommandoer. Ellers, hvis betingelsen evalueres til sandt, afsluttes loopen, og programstyringen overføres til den følgende kommando.

I eksemplet herunder udskriver loopen på hver iteration den aktuelle værdi af variabeltælleren og øger variablen med én.

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

Løkken itererer, så længe tællervariablen har en værdi, der er større end fire. Scriptet producerer følgende output:

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

Bash indtil loopeksempel

Følgende script kan være nyttigt, hvis din git-vært har nedetid, og i stedet for manuelt at skrive git pull flere gange, indtil værten er online, kan du køre scriptet én gang. Den vil forsøge at trække depotet, indtil det lykkes med succes.

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

Scriptet udskriver "Venter på git-værten…" og sover i et sekund, indtil git-værten går online. Når depotet er trukket ud, udskrives det "Git-depotet er trukket.".

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

Konklusion

while og until sløjfer svarer til hinanden, med den største forskel er, at while løkken gentager sig, så længe betingelsen evalueres til true og until løkke itererer, så længe betingelsen evalueres til false .

bash loop terminal