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.