Android

Bash samalla silmukka

Basic crochet baby hat/crochet for beginners

Basic crochet baby hat/crochet for beginners

Sisällysluettelo:

Anonim

Silmukat ovat yksi ohjelmointikielten peruskäsitteistä. Silmukat ovat käteviä, kun haluat suorittaa komentosarjan useita kertoja, 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-silmukoiden perusteet sekä tauon ja jatka-lauseet silmukan virtauksen muuttamiseksi.

Bash samalla kun Loop

Samanaikaisesti silmukkaa käytetään suorittamaan annettu komentojoukko tuntemattoman määrän kertoja, kunhan annettu ehto on totta.

Bash while -silmukka on seuraavassa muodossa:

while do done

Edellytys arvioidaan ennen komentojen suorittamista. Jos ehto on totta, komennot suoritetaan. Muussa tapauksessa, jos ehto arvioidaan vääriksi, silmukka lopetetaan ja ohjelman hallinta siirretään seuraavalle komennolle.

Alla olevassa esimerkissä jokaiseen iteraatioon silmukka tulostaa muuttujan i nykyisen arvon ja kasvattaa muuttujaa yhdellä.

i=0 while do echo Number: $i ((i++)) done

Ti-silmukka toistuu niin kauan kuin i on pienempi tai yhtä suuri kuin kaksi. Se tuottaa seuraavan tuloksen:

Number: 0 Number: 1 Number: 2

Ääretön silmukka

Ääretön silmukka on silmukka, joka toistuu määräämättömästi ja ei lopu koskaan. Jos ehto arvioidaan aina totta, saat äärettömän silmukan.

Seuraavassa esimerkissä käytämme sisäänrakennettua komentoa : joka palauttaa aina true, jotta luodaan ääretön silmukka. Voit käyttää myös true sisäänrakennettua komentoa tai mitä tahansa muuta lausetta, joka palauttaa aina tosi.

while: do echo "Press to exit." sleep 1 done while: do echo "Press to exit." sleep 1 done

Yllä oleva silmukka kestää toistaiseksi. Voit lopettaa silmukan painamalla CTRL+C

Tässä on yhden rivin vastine:

while:; do echo 'Press to exit.'; sleep 1; done while:; do echo 'Press to exit.'; sleep 1; done

Lue tiedosto riviltä

Yksi silmukan silmukan yleisimmistä käyttötavoista on tiedoston, tietovirran tai muuttujan lukeminen riviltä.

Seuraavassa esimerkissä while-silmukka lukee /etc/passwd tiedoston riviltä ja tulostaa jokaisen rivin.

file=/etc/passwd while read -r line; do echo $line done < "$file"

Sen sijaan, että hallitsisimme silmukan silmukkaa ehdolla, käytämme tulon uudelleenohjausta ( < "$file" ) tiedoston siirtämiseksi read joka on silmukkaa ohjaava komento. Samanaikaisesti silmukka jatkuu, kunnes viimeinen rivi luetaan.

Kun luet tiedostoa rivi riviltä, ​​käytä aina read -r vaihtoehdon avulla estääksesi alaviivaa toimimasta pakenevana merkkinä.

Oletuksena read komento leikkaa etummaiset merkit (välilyönnit ja välilehdet). Käytä IFS= -vaihtoehtoa ennen read -komentoa estääksesi tämän käytön

file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"

Katkaise ja jatka lausuntoja

Tauko- ja jatkelausekkeita voidaan käyttää ohjaamaan silmukan suoritusta.

Break lausunto

Taukolausunto lopettaa nykyisen silmukan ja siirtää ohjelman ohjauksen komennolle, joka seuraa päättyvää silmukkaa. Sitä käytetään yleensä silmukan lopettamiseen, kun tietty ehto täyttyy.

Seuraavassa esimerkissä silmukan suorittaminen keskeytetään, kun nykyinen iteroitu kohde on yhtä suuri kuin 2 .

i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'

Number: 0 Number: 1 All Done!

Jatka lausuntoa

Jatka-käsky poistuu silmukan nykyisestä iteraatiosta ja siirtää ohjelman ohjauksen silmukan seuraavaan iteraatioon.

Seuraavassa alla, kun nykyinen iteroitu kohde on yhtä suuri kuin 2 , jatka lause antaa suorituksen palata silmukan alkuun ja jatkaa seuraavan iteraation kanssa.

i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'

Number: 1 Number: 3 Number: 4 Number: 5 All Done!

johtopäätös

Tähän mennessä sinulla pitäisi olla hyvä ymmärrys siitä, kuinka bashia käytetään silmukan aikana.

bash loop -pääte