Android

Bash dok petlje

Iterative Fibonacci Function Example

Iterative Fibonacci Function Example

Sadržaj:

Anonim

Petlje su jedan od temeljnih koncepata programskih jezika. Petlje je zgodno kad želite pokrenuti niz naredbi nekoliko puta dok se ne ispuni određeni uvjet.

U jezicima skriptiranja poput Bash-a, petlje su korisne za automatizaciju ponavljajućih zadataka. U scenariju Bash postoje 3 osnovne konstrukcije petlje, za petlju, petlju i petlju.

Ovaj tutorial objašnjava osnove dok petlje u Bash-u, kao i prekida i nastavka naredbi za promjenu toka petlje.

Bash dok je petlja

Dok se petlja koristi za izvršavanje zadanog skupa naredbi nepoznat broj puta koliko je dano stanje ocijenjeno istinitim.

Bash while petlja ima sljedeći oblik:

while do done

Stanje se procjenjuje prije izvršavanja naredbi. Ako se uvjet ocijeni istinitim, naredbe se izvršavaju. U suprotnom, ako se uvjet ocijeni lažnim, petlja će se prekinuti, a kontrola programa biti će prenesena naredbi koja slijedi.

U primjeru ispod, petlja na svakoj iteraciji ispisuje trenutnu vrijednost varijable i povećava varijablu za jednu.

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

Utorak petlje iteratira sve dok je i manji ili jednak od dva. Daje sljedeće rezultate:

Number: 0 Number: 1 Number: 2

Beskonačno dok se petlja

Beskonačna petlja je petlja koja se ponavlja u nedogled i nikada ne prestaje. Ako se uvjet uvijek smatra istinitim, dobivate beskonačnu petlju.

U sljedećem primjeru koristimo ugrađenu naredbu : koja uvijek vraća true za stvaranje beskonačnog petlje. Također možete koristiti true ugrađenu naredbu ili bilo koju drugu izjavu koja uvijek vraća true.

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

Gornja petlja trajat će neograničeno. Petu možete prekinuti pritiskom CTRL+C

Evo jednorednog ekvivalenta:

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

Pročitajte datoteku po redak

Jedno od najčešćih načina korištenja dok je petlja čitanje datoteka, toka podataka ili varijable linija po red.

U sljedećem primjeru, dok je petlja, čitati /etc/passwd datoteku liniju po redak i ispisivati ​​svaki redak.

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

Umjesto da kontroliramo while petlju s uvjetom, koristimo preusmjeravanje ulaza ( < "$file" ) kako bismo datoteku proslijedili read to je naredba koja upravlja petljom. Petlja za trajanje traje dok se ne pročita posljednji redak.

Kad čitate datoteku redak po red, uvijek koristite read s opcijom -r kako biste spriječili da crta nagiba djeluje kao znak bijega.

Naredba za read prema zadanom urezala je vodeće / slijedeće znakove bijelog prostora (razmake i jezičke). Upotrijebite opciju IFS= prije naredbe za read kako biste spriječili ovo ponašanje

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

Prekid i nastavak izjava

Izjave prekida i nastavka mogu se koristiti za kontrolu izvršenja petlje.

Izjava o prekidu

Izjava o prekidu prekida trenutnu petlju i upravljanjem programa predaje naredbu koja slijedi ukinuću petlju. Obično se koristi za zaustavljanje petlje kad je ispunjen određeni uvjet.

U sljedećem primjeru izvršenje petlje bit će prekinuto nakon što jedna trenutna ponovljena stavka bude jednaka 2 .

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

Number: 0 Number: 1 All Done!

Nastavite izjavu

Izjava nastavi izlazi iz trenutne iteracije petlje i prebacuje programsku kontrolu na sljedeću iteraciju petlje.

U sljedećem nastavku, nakon što je trenutna ponovljena stavka jednaka 2 , naredba za nastavak uzrokovat će da se izvršenje vrati na početak petlje i da nastavi s sljedećom ponavljanjem.

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!

Zaključak

Do sad biste trebali dobro razumjeti kako koristiti bash dok petlju.

bash petlja terminal