Voorbeelde vir bash vir lus en terwyl lus

Soos enige ander skriptaal, het Bash ook ondersteuning vir lusse.

Lusse is ideaal vir herhalende take. Ons kan gebruik maak van lusse en lusse in ons Bash-skrifte.



Bash For Loop

Die sintaksis van die for-lus is:


for VARIABLE in PARAM1 PARAM2 PARAM3 do // scope of for loop done

Die for-lus sal vir elke parameter uitgevoer word. Die parameters kan getalle, reeks getalle of snare, ens. Wees.

Voorbeeld van bash vir lus

In hierdie eenvoudige voorbeeld word syfers 1 tot 5 met behulp van die for-lus gedruk:


#!/bin/bash for i in 1 2 3 4 5 do echo '$i' done

Uitset:

1 2 3 4 5

Bash For Loop - Druk die reeks getalle uit

Ons kan ook 'n reeks getalle definieer om deur te loop:

Byvoorbeeld:

for i in {1..5} do echo '$i' done

Uitset:


1 2 3 4 5

Bash Loop Through Strings

Ons kan ook die for-lus gebruik om snaarparameters deur te loop:

#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo '$day' done

Uitset:

MON TUE WED THU FRI SAT SUN

Bash For Loop - C-styl

Ons kan ook 'n C-styl sintaksis gebruik om die for-lus te skryf. Byvoorbeeld:

#!/bin/bash for ((i=1; i<=5; i++)) do echo '$i' done

Uitset


1 2 3 4 5

Vir 'n lus om die lêers in die huidige gids af te druk

Om al die lêers in die huidige gids met behulp van die bash for lus te lys, gebruik ons:

#!/bin/bash for fname in ./ do ls -l $fname done

Bash While Loop

Bash ondersteun ook terwyl lusse. Terwyl lusse 'n stel instruksies uitvoer totdat 'n toestand waar is.

Die sintaksis vir die Bash while-lus is:

while [condition] do //execute instructions done

Die toestand word geëvalueer voordat enige instruksies uitgevoer word. Daarom is dit nodig om die toestand by te werk, anders sal die lus vir ewig uitgevoer word.


Bash While Loop Voorbeeld

Die volgende is 'n eenvoudige while-lus wat getalle 1 tot 5 afdruk. Die lus word beëindig as die getal groter is as 5.

#!/bin/bash num=1 while [ $num -le 5 ] do echo '$num' let num++ done

Bash C-styl terwyl lus

Soos die for-lus, kan ons ook die bash while-lus in 'n C-stylagtige taal skryf.

Byvoorbeeld:

#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done