next up previous contents
Next: Standarddateien Up: Die Shell Previous: Was ist die Shell

Ausführen von Kommandos

Wird auf der Konndozeile ein Programmname eingegeben, so prüft die Shell zunächst, ob es sich um eine eingebautes Kommano handelt, ob ein alias definiert ist und sucht dann die Verzeichnisse, die in der Variable PATH angegeben sind nach dem Programm ab und nimmt den ersten Treffer.

Wird der absolute Pfad zu einem Programm eingegeben, so wird dieses ausgeführt. (z.B. /usr/bin/more führt more aus, auch wenn eine alias alias more=less definiert ist.)

Ein gerade laufendes Programm kann mittels c (Ctrl c) oder (Strg c) abgebrochen werden.

Andere Programme können mittels kill pid abgebrochen werden. Dabei steht pid für die Prozeßnummer. (Das kill-Kommando wird später ausführlicher besprochen, ebenso wie man die pid herauskriegt..) Die Eingabe von & bewirkt daß das Kommando im Hintergrund ausgeführt wird und sofort weitergearbeitet werden kann. In diesem Fall ist es sinnvoll, die Ausgabe des Kommandos in eine Datei umzuleiten.

Wird hinter dem & ein weiteres Kommando eingegeben, so wird das erste im Hintergrund ausgeführt, während das zweite im Vordergrund läuft.

Werden Kommandos durch ein ; getrennt eingegeben, so werden sie hintereinander ausgeführt.

$ make dep; make bzlilo; reboot Kompiliert einen neuen Kernel und startet das System neu.

Jedes Kommando wird in eigenen Subshell ausgeführt. Will man das Ergebnis mehrerer Kommandos auf einmal in eine Datei umleiten, so müssen die Kommandos geklammert werden.

$ (date; sleep 5; date)

Man kann die Ausführung eines Kommandos auch von dem Ergebnis eines vorhergehenden Kommandos abhängig machen.

$ kommando1 && kommando2 führt kommando2 aus, wenn kommando1 den Rückgabewert 0 hat, also keinen Fehler liefert.

$ kommando1 || kommando2 führt kommando2 aus, wenn kommando1 einen Rückgabewert ungleich 0 hat, also einen Fehler liefert.



 
next up previous contents
Next: Standarddateien Up: Die Shell Previous: Was ist die Shell
Matthias Kabel
2000-01-23