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