Android

Bash kunnes silmukka

SUPER-VILLAIN-BOWL! - TOON SANDWICH

SUPER-VILLAIN-BOWL! - TOON SANDWICH

Sisällysluettelo:

Anonim

Silmukat ovat yksi ohjelmointikielten peruskäsitteistä. Silmukat ovat käteviä, kun haluat suorittaa komentojen sarjan uudestaan ​​ja uudestaan, kunnes tietty ehto täyttyy.

Skriptikielissä, kuten Bash, silmukat ovat hyödyllisiä toistuvien tehtävien automatisoinnissa. Bash-komentosarjoissa on 3 perussilmukkakonstruktiota silmukalle, silmukalle ja silmukkaan saakka.

Tämä opetusohjelma selittää Bash-kiertoaikasillan perusteet.

Bash kunnes Loop

Kunnesilmukkaa käytetään tietyn käskyjoukon suorittamiseen, kunhan annettu ehto arvioidaan vääriksi.

Bash kunnes -silmukka on seuraavassa muodossa:

until do done

Edellytys arvioidaan ennen komentojen suorittamista. Jos ehto arvioidaan vääriksi, komennot suoritetaan. Muutoin, jos ehto todetaan todelliseksi, silmukka lopetetaan ja ohjelman hallinta siirretään seuraavalle komennolle.

Seuraavassa esimerkissä jokaiseen iteraatioon silmukka tulostaa muuttujan counter nykyisen arvon ja lisää muuttujaa yhdellä.

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

Silmukka toistuu niin kauan kuin counter arvo on suurempi kuin neljä. Skripti tuottaa seuraavan tuloksen:

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

Bash, kunnes silmukkaesimerkki

Seuraava skripti voi olla hyödyllinen, jos git-isäntälläsi on seisokkeja ja sen sijaan, että kirjoitat git pull useita kertoja käsin, kunnes isäntä on online-tilassa, voit suorittaa skriptin kerran. Se yrittää vetää arkistoa, kunnes se on onnistuneesti vedetty.

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

Käsikirjoitus tulostaa “Odotetaan git-isäntä…” ja nukkuu sekunnin ajan, kunnes git-isäntä siirtyy verkkoon. Kun arkisto on vedetty, se tulostaa: "Git-arkisto on vedetty."

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

johtopäätös

while ja until silmukat ovat samankaltaisia ​​toistensa kanssa, pääero on siinä, että silloin silmukka iteroi niin kauan kuin olosuhteet arvioivat true ja until silmukka toistuu niin kauan kuin olosuhteet arvioivat false .

bash loop -pääte