6 Grundlagen aus Anwendersicht
6 Grundlagen aus Anwendersicht
6 Grundlagen aus Anwendersicht
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
7 Die Shell<br />
7.7.9 Kommandosubstitution<br />
Die Kommandosubstitution bietet Ihnen – besonders in der Shellskriptprogrammierung<br />
– die Möglichkeit, durch etwas Einfaches etwas sehr Nützliches zu erreichen.<br />
Sie erlaubt es Ihnen nämlich, die Ausgaben eines Programms direkt in einer Variable<br />
zu speichern oder als Parameter für andere Programme zu verwenden.<br />
Erst einmal ganz einfach ...<br />
Für diese Kommandosubstitution werden spezifische Einbettungszeichen verwendet,<br />
die sogenannten Backticks 17 . Alles, was Sie innerhalb dieser Zeichen schreiben,<br />
wird von der Shell als Befehl interpretiert. Dessen Ausgabe wird für alles Weitere,<br />
also etwa für die Zuweisung an eine Variable, verwendet.<br />
Schauen wir uns die Anwendung der Backticks einmal an. Im folgenden Beispiel<br />
weisen wir der Variablen $OUTPUT die Ausgabe des ls-Befehls zu.<br />
user$ OUTPUT=`ls`<br />
user$ echo $OUTPUT<br />
CVS<br />
Makefile<br />
TODO<br />
ZEITPLAN<br />
anhg_komref.aux<br />
anhg_komref.tex<br />
buch.dvi<br />
buch.idx<br />
buch.ilg<br />
buch.ind<br />
...<br />
Listing 7.42 Kommandosubstitution<br />
Wie Sie sehen, kann die Variable sofort weiterverwendet werden, indem man sie<br />
wie im Beispiel einem Programm wie echo übergibt. Vielleicht fragen Sie sich<br />
bereits, ob man eine Kommandosubstitution nicht auch direkt ohne Zwischenspeicherung<br />
in einer Variable an einen anderen Befehl übergeben kann. Mit dieser<br />
Vermutung haben Sie Recht, wie das folgende Listing zeigt.<br />
Das ls-Programm (siehe Anhang B, »Kommandoreferenz«, auf Seite 1220) soll uns<br />
Detailinformationen zu den einzelnen Dateien des Verzeichnisses <strong>aus</strong>geben. Diese<br />
übergeben wir jedoch über eine Kommandosubstitution. Dies ist nicht sonderlich<br />
17 Auf einer PC-Tastatur drückt man für diese Zeichen Shift und ‘ (Backtick, das ist die Taste<br />
neben ?\)<br />
232