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.

<strong>Grundlagen</strong> der Shellnutzung 7.7<br />

Der ||-Operator<br />

Das Gegenstück zum &&-Operator ist der ||-Operator. Anders als bei && werden<br />

die durch || aneinandergereihten Kommandos nur dann <strong>aus</strong>geführt, wenn das<br />

vorherige Kommando fehlschlägt. Man verwendet diesen Operator besonders gerne<br />

zur Ausgabe von Fehlermeldungen und zum Ausführen von »Plan B«.<br />

pgrep X >/dev/null || echo "use 'startx' to start X"<br />

Listing 7.14 Beispielanwendung des ||-Operators<br />

7.7.3 Mehrzeilige Kommandos<br />

Oftmals ist es recht unübersichtlich und unangenehm, sehr lange Kommandolisten<br />

oder lange Einzelbefehle zu übergeben. Viel einfacher ist es hingegen, diese auf<br />

mehrere Zeilen zu verteilen. Diese mehrzeiligen Kommandos werden mit einem<br />

Backslash (\) realisiert.<br />

Im Folgenden übergeben wir find das zweite und dritte Element des Argumentvektors<br />

in einer neuen Zeile:<br />

$ find /usr/local/share/doc/usd \<br />

-name bc \<br />

/usr/share/doc/usd/06.bc/bc<br />

Listing 7.15 Ein Kommando über mehrere Zeilen<br />

7.7.4 Alias, shell-intern oder -extern?<br />

Wie Sie bereits wissen, ist es in der Shell möglich, normale Programme zu starten.<br />

Weiterhin gibt es die Möglichkeit, shell-interne Kommandos <strong>aus</strong>zuführen.<br />

Je nach Shell sind verschiedene Kommandos in der Shell selber integriert. Die bash<br />

enthält beispielsweise ein eigenes kill-Kommando. Wird also in der bash kill<br />

aufgerufen, so wird nicht das Programm <strong>aus</strong> dem Verzeichnis /bin, sondern das<br />

gleichnamige Shell-Builtin gestartet. Da die Shell-Builtins von Shell zu Shell variieren,<br />

können wir Ihnen leider nicht allgemein gültig sagen, welche Kommandos<br />

shell-intern sind. Zur Lösung des Problems gibt es jedoch das Kommando type (das<br />

ebenfalls ein Shell-Builtin der bash ist 10 ). An type muss lediglich der Name eines<br />

Kommandos oder Programms als Parameter übergeben werden. Daraufhin gibt type<br />

<strong>aus</strong>, ob es sich dabei um ein Shell-Builtin oder um ein Programm handelt, dessen<br />

absoluter Pfad dann <strong>aus</strong>gegeben wird.<br />

type<br />

10 Auch andere Shells, etwa die Z-Shell, bieten diese Funktionalität.<br />

219

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!