Menu

For cyklus

V shellu neexistuje for cyklus standardní C-syntaxe. Místo toho umí opakovat blok příkazů pro všechny položky seznamu. Můžeme také použít už známou expanzi na jména souborů:

for name in Karel Jakub Honza; do
    printf "Jmenuji se %s.\n" "$name"
done

for file in *; do
    wc -c "$file"
done

Co asi budete používat nejčastěji je for pro nějaký pevný počet opakování. Toho snadno docílíte použitím příkazu seq, který vygeneruje seznam celých čísel od-do, s volitelným zadáním velikosti skoku:

for i in $(seq 10 -1 0); do
    echo $i
    sleep 1
done
echo "BUMMMM!"

Pokud napíšete pouze for param; do ... done, bude se do $param postupně dosazovat hodnota všech argumentů zadaných programu na příkazové řádce.