Příklady pro smyčku a smyčku

Jako každý jiný skriptovací jazyk má Bash také podporu pro smyčky.

Smyčky jsou skvělé pro opakované úkoly. V našich Bash skriptech můžeme použít smyčky for a while.



Bash pro smyčku

Syntaxe smyčky for je:


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

Smyčka for se provede pro každý parametr. Parametry mohou být čísla, rozsah čísel nebo řetězců atd.

Příklad pro smyčku pro smyčku

Tento jednoduchý příklad vytiskne čísla od 1 do 5 pomocí smyčky for:


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

Výstup:

1 2 3 4 5

Bash For Loop - Rozsah tisku čísel

Můžeme také definovat rozsah čísel, kterými se můžeme procházet:

Například:

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

Výstup:


1 2 3 4 5

Bash Loop Through Strings

Můžeme také použít smyčku for to loop through string parameters:

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

Výstup:

MON TUE WED THU FRI SAT SUN

Bash For Loop - C Style

Můžeme také použít syntaxi ve stylu C k napsání smyčky for. Například:

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

Výstup


1 2 3 4 5

Loop pro tisk seznamu souborů v aktuálním adresáři

Chcete-li zobrazit všechny soubory v aktuálním adresáři pomocí smyčky bash for, použijeme:

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

Bash While Loop

Bash také podporuje while. Zatímco smyčky provádějí sadu pokynů, dokud se podmínka nevyhodnotí jako true.

Syntaxe smyčky Bash while je:

while [condition] do //execute instructions done

Podmínka se vyhodnotí před provedením jakýchkoli pokynů. Proto je nutné mít prostředky k aktualizaci podmínky, jinak se smyčka provede navždy.


Příklad Bash While Loop

Následuje jednoduchá smyčka while, která tiskne čísla 1 až 5. Smyčka je ukončena, když je číslo větší než 5.

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

Bash C-Style While Loop

Stejně jako smyčka for můžeme také psát smyčku bash while v jazyce C.

Například:

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