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
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