02.11.2013 Aufrufe

Technische Praxis der Computersysteme Teil 1 - Universität Wien

Technische Praxis der Computersysteme Teil 1 - Universität Wien

Technische Praxis der Computersysteme Teil 1 - Universität Wien

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

6.1 Shell-Variablen 6 BENUTZUNG 2<br />

\ schützt die spezielle Bedeutung des folgenden Zeichens:<br />

[roli@pablo DIR_1]$ echo "Hello \$xy"<br />

Hello $xy<br />

[roli@pablo DIR_1]$ echo \* Hello $xy \*<br />

* Hello world *<br />

Ähnlich mit <strong>der</strong> Kommandosubstitution:<br />

[roli@pablo DIR_1]$ echo "# seq 2# "<br />

1<br />

2<br />

[roli@pablo DIR_1]$ echo " " seq 2 " "<br />

" seq 2 "<br />

Schleifen<br />

Die for Schleife: for i in liste; do ...; done<br />

Der Anweisungsblock, <strong>der</strong> auf das do folgt, wird für jedes i in <strong>der</strong><br />

Liste durchlaufen. Der jeweilige Wert von i steht wie immer<br />

unter $i zur Verfügung.<br />

Die while Schleife: while (ausdruck); do ...; done<br />

Der Anweisungsblock wird solange durchlaufen, wie ausdruck<br />

wahr“ist (d.h. Exit-Code 0 hat). Wenn ausdruck einen<br />

”<br />

Exit-Code ungleich 0 hat, wird die Ausführung <strong>der</strong> Schleife<br />

abgebrochen und nach dem done wie<strong>der</strong> aufgenommen.<br />

Die until Schleife: until (ausdruck); do ...; done<br />

Wie die while Schleife, nur ”<br />

umgekehrt“: Die Abarbeitung <strong>der</strong><br />

Schleife erfolgt solange ausdruck Exit-Code gleich 0 hat.<br />

Folie 97<br />

6.1.2 Einfache Schleifenkonstruktionen<br />

Schleifen sind natürlich wichtig für Shellscripts, können aber auch oft auf <strong>der</strong> Kommandozeile<br />

gewinnbringend angewandt werden.<br />

Die for Schleife: Kann dazu verwendet werden, Kommandos auf mehrere Dateien<br />

anwenden. Syntax: for i in liste; do ... ;done. Ein einfacher MP3-Player:<br />

[roli@pablo gianna]$ for musicfile in *.mp3; do<br />

> mpg123 "$musicfile"<br />

> done<br />

n mal durchlaufene Schleife, mit Hilfe einer Liste und einer for Schleife:<br />

[roli@pablo DIR_1]$ ls<br />

[roli@pablo DIR_1]$ for i in # seq 10#<br />

83

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!