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.