Eine Programmschleife ist eine Repetition eines Programmteils, bis eine gewisse Voraussetzung gegeben ist. In der Shell gibt es zwei Arten von Schleifen: die Header-Schleife und die für Schlaufe, die eine solche durchläuft. Vor jedem Schleifendurchlauf prüft die Header-gesteuerte Schleifendurchlauf die Bedingungen, die bestimmen, ob die Schleifendurchläufe wirklich erneut ausgeführt werden sollen.
In extremen Fällen wird diese Schlaufe kein Mal passieren, wenn die Voraussetzung nicht von vornherein erfüllt ist. Jedes Rückgabeprogramm wird als Voraussetzung angenommen. Die Rückgabewerte 0 bedeuten, dass die Bedingungen erfüllt sind, jeder andere Wert ist falsch. Das Testprogramm oder seine modifizierte Version [ wird hier wie bei der if-Anweisung in der Regel wieder verwendet.
Das Grundgerüst der While-Schleife mit dem[-Programm als Bedingungsprüfung lautet dann wie folgt: Damit wird die Schleifendurchlaufwiederholung so lange durchgeführt, bis die mit dem[ -Programm in der ersten Schleifenzeile abgefragte Voraussetzung nicht mehr erfüllt ist. Beispielsweise sehen eine Schlaufe, die von 0 bis 10 reicht, so aus:
Ein Listen-Loop läuft so oft durch die Loop, wie die Listenelemente vorhanden sind. Bei der Auflistung handelt es sich um eine beliebige Wortliste, die durch Leerstellen, Tabulatoren oder Zeilentrenner getrennt ist. Allerdings wird diese Schlaufe wirklich spannend, wenn die Listen ein Wildcard-Zeichenkonstrukt wie *.txt enthalten - Die Shell zerlegt dieses Konstruktionskonstrukt in eine Auflistung aller zum Pattern passenden Verzeichnisse im laufenden Jahr.
So wird die Schlaufe so oft ausgeführt, wie es Files mit der Endung.txt gibt.... Dieser Loop wird so oft verwendet, dass es eine spezielle Form dafür gibt, anstatt zu beschreiben. Die große Kraft der Schleife for besteht darin, die Resultate eines Unix-Befehls als Auflistung einzutragen. Die Befehlsersetzung macht es einfach, die kompliziertesten Unix-Befehle einzutragen, die als Resultat eine Ergebnisliste erzeugen und diese dann in der Schlaufe abarbeiten.
Sie können zum Beispiel eine Auflistung aller dem Betriebssystem bekannten Benutzer anzeigen, indem Sie die erste Zeile der Konfigurationsdatei mit dem Kommando cut ausschneiden.