for name [ in word; ] do list ; done
Παράδειγμα:
for fname in *.c do ls -l $fname cat $fname done
case word in [ pattern [ | pattern ] ... ) list ;; ] ... esac
Παράδειγμα:
case $fname in *.c|*.for) echo Source file ; cat *.c ;; *.o) echo Object file ;; *) echo Other file ;; esac
if list_c1 then list_r1 [ elif list_c2 then list_r2 ] ... [ else list_r3 ] fi
Παράδειγμα:
if grep John /etc/passwd then echo John is a valid user else echo No user named John was found fi
while list1 do list2 done
Παράδειγμα:
while ! {finger | grep John ; } do sleep 10 done echo John left