17.11.2013 Aufrufe

6 Grundlagen aus Anwendersicht

6 Grundlagen aus Anwendersicht

6 Grundlagen aus Anwendersicht

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!