09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

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.

9.5 Kommandos aus einer Datei 135<br />

B<br />

Sie können den Rückgabewert eines Kindprozesses Ihrer Shell herausfinden,<br />

indem Sie die Variable $? anschauen:<br />

$ bash Eine Kind-Shell starten …<br />

$ exit 33 … und gleich wieder beenden<br />

exit<br />

$ echo $?<br />

33 Der Wert aus unserem exit oben<br />

$ _<br />

Aber für das Folgende ist das eigentlich egal.<br />

Mit && als »Trennzeichen« zwischen zwei Kommandos (da, wo sonst ein Semikolon<br />

stünde) wird das zweite Kommando nur dann ausgeführt, wenn das erste<br />

erfolgreich beendet wurde. Um Ihnen das zu demonstrieren, benutzen wir die -c-<br />

Option der Bash, mit der Sie der Kind-Shell ein Kommando auf der Kommandozeile<br />

übergeben können (beeindruckend, was?):<br />

$ bash -c "exit 0" && echo "Erfolgreich"<br />

Erfolgreich<br />

$ bash -c "exit 33" && echo "Erfolgreich"<br />

Nichts - 33 ist kein Erfolg!<br />

Umgekehrt wird mit || als »Trennzeichen« das zweite Kommando nur dann<br />

ausgeführt, wenn das erste nicht erfolgreich beendet wurde:<br />

$ bash -c "exit 0" || echo "Nicht erfolgreich"<br />

$ bash -c "exit 33" || echo "Nicht erfolgreich"<br />

Nicht erfolgreich<br />

Übungen<br />

C<br />

9.8 [3] Was ist das Problem mit dem Kommando »echo "Hallo!"«? (Tipp: Experimentieren<br />

Sie mit Kommandos der Form »!-2« oder »!ls«.)<br />

9.5 Kommandos aus einer Datei<br />

Sie können Shell-Kommandos in einer Datei ablegen und en bloc ausführen. (Wie<br />

Sie bequem eine Datei anlegen können, lernen Sie in Kapitel 3.) Dazu müssen Sie<br />

nur die Shell aufrufen und den Namen der Datei als Parameter übergeben:<br />

$ bash meine-kommandos<br />

Eine solche Datei bezeichnet man auch als Shellskript, und die Shell hat um- Shellskript<br />

fangreiche Möglichkeiten zur Programmierung, die wir hier nur grob umreißen<br />

können. auf die wir an dieser Stelle nicht näher eingehen können. (<strong>Die</strong> <strong>Linup</strong>-<br />

<strong>Front</strong>-Schulungsunterlage <strong>Linux</strong> für Fortgeschrittene erklärt die Programmierung<br />

von Shellskripten sehr ausführlich.)<br />

B<br />

Sie können sich das vorgesetzte bash sparen, indem Sie als erste Zeile der<br />

Skriptdatei die magische Anrufung<br />

#!/bin/bash<br />

einfügen und die Skriptdatei »ausführbar« machen:<br />

$ chmod +x meine-kommandos<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!