Mit for loop-Schleifen wiederholst Du im Terminal Befehle und konvertierst z.B. mehrere Bild-Dateien in einem Rutsch. Und so geht’s.

Mit einer for loop wiederholst Du Befehle oder Befehlsketten. So konvertierst Du z.B. einen ganzen Bilderordner mit einer for loop-Schleife und dem Befehl sips anstelle für jedes einzelne Bild den Befehl auszuführen.

Eine for loop kannst Du in einem Bash-Script als auch direkt im Terminal ausführen.

Aufbau einer For Loop-Schleife im Terminal

Eine ganz simple for loop sieht z.B. so aus:

$ for datei in *.jpg;do echo $datei; done

Der Befehl liest sich dann so:

  1. Für alle Dateien mit der Endung .jpg tue folgendes:

  2. Gib den Dateinamen aus.

  3. Fertig.

datei ist hierbei eine Platzhaltervariable, die Du benennen kannst, wie Du möchtest. Oft wird z.B. auch einfach nur ein i genommen. Das Semikolon startet dann die Schleife. Hierbei ist der Befehl do wichtig, der am Ende mit done abgeschlossen wird. do startet den Befehl oder eine ganze Befehlskette. done beendet die Kette. Mit echo $datei greift man auf die Variable datei zurück und gibt den Dateinamen mit echo aus. Wichtig ist das $ damit das Terminal innerhalb der Schleife datei als Variable erkennt und nicht als tatsächlichen Dateinamen.

In dem folgenden Beispiel konvertiert das Terminal alle TIF-Bilder des aktuellen Ordners über den Befehl sips in JPG-Dateien.

$ for bild in *.tif;do sips -s format jpeg $bild --out $bild.jpg;done