Pętla FOR
jest najbardziej intuicyjną pętlą jaka jest używana w programowaniu,
znajduje się ona niemalże w każdym języku programowania.
Podpowiedź
W Bashu pętla for występuje w dwóch wariacjach:
Na tej stronie skupimy się na pętli „C like for”.
Podpowiedź
W Bashu stosuje się konstrukcje „C like for” relatywnie rzadko.
Pętla FOR
w stylu języka C występuje niemlże we wszystkich językach programowania - jej składnia przedstawia się następująco:
for ((<inicjacja_zmiennej>; <warunek_zakonczenia>; <zwiększanie/zmniejszanie>)) ; do
...polecenia w pętli...
done
Pętla ta służy do wykonania jakichś operacji gdzie znamy ilość elementów z których musimy skorzytać, do policzenia czegoś, wygenerowania ciągu liczb, etc.
Przykład #1
#!/bin/sh
for (( i=1; $i <= 10; i++ )) ; do
echo " Iteracja nr: $i"
done
Podpowiedź
Petla „C like for” nie jest dostępna we wszystkich implementacjach Basha, dlatego można ją częściowo „udawać” korzystając ze składni „Bash like for” i polecenia seq.
Przykład #2
#!/bin/sh
for i in `seq 1 10`
do
echo ">> Iteracja nr: $i"
done
Ostrzeżenie
Czy zauwazyłeś, że w Przykładzie #2
nie ma średnika przed słowem kluczowym do
?
Programista Basha ma do wyboru, albo umieścić średnik przed slowem do
, albo zacząć słowo do
od nowej linii.
Nie jest to intuicyjne i jest czasem powodem występowania dziwnych błedów w skrypcie (dlatego zwracam na to uwagę).
Oba przykładowe skrypty (#1 i #2) wyprodukują identyczne wyjście:
>> Iteracja nr: 1
>> Iteracja nr: 2
>> Iteracja nr: 3
>> ...
>> Iteracja nr: 10