Next: UNIX und Shells Up: HP-UX-Kurzübersicht Previous: KopierenUmbenennen und

Standardeingabe und -ausgabe

Einem unter UNIX ausgeführten Prozeß werden regelmäßig drei Dateien zugeordnet:

Das Betriebssystem bezeichnet diese drei Dateien mit stdin, stdout und stderr; sie werden in der Regel mit der Tastatur bzw. dem Bildschirm eines Terminals verknüpft. Der Benutzer kann diese Zuordnung ändern.

Für die in diesem Zusammenhang relevante Syntax werden die drei zusätzlichen Zeichen <, > und | eingeführt. Nachfolgend bezeichnen devicename eine beliebige UNIX-(Geräte-)Datei und procname den Namen des jeweils gestarteten Prozesses .
Syntax:

Beispiele hierzu:

Die Ausgabe des ls-Befehles soll in die Datei mit dem Namen ergebnis geschrieben werden:

aurora>ls > ergebnis

aurora>

Die Datei ergebnis kann dann z. B. mit einem Editor weiter bearbeitet werden.

Für das nächste Beispiel nehmen wir an, daß das Programm demo Eingaben von der Tastatur erwartet und daraufhin eine Ausgabe zum Bildschirm schreibt.

Um den Eingabetext für demo aus einer Datei file1 (vorher in geeigneter Weise erstellt) zu lesen und die Ausgabe des Programmes statt zum Bildschirm in die Datei file2 zu schreiben, wird folgendes eingegeben:

aurora>demo < file1 > file2

aurora>

Dabei wird file2 neu angelegt bzw. ein vorher vorhandener Inhalt überschrieben. Um das Überschreiben zu vermeiden, wird die '>>'-Notation verwendet. Sie bewirkt die Konkatenationder umgeleiteten Ausgabe an den Inhalt der Zieldatei, die zum Zeitpunkt des Aufrufes nicht notwendigerweise existieren muß. Bezogen auf das vorige Beispiel muß die Eingabe in diesem Fall lauten:

aurora>demo < file1 >> file2

aurora>

Als drittes Beispiel dient die Umleitung der Standardfehlerausgabe in eine Datei. Bei der Übersetzung des (syntaktisch fehlerhaften) Pascal-Programmes error.p sollen die Fehlermeldungen des Compilers in die Datei diagnostics geschrieben werden:

aurora>pc error.p diagnostics

Im vierten Beispiel soll das pipe-Konstrukt demonstriert werden. Die Ausgabe des ls-Befehles wird (weil viele Einträge im directory zu erwarten sind) an den more-Befehl geleitet:

aurora>cd /etc

aurora>ls la | more



Next: UNIX und Shells Up: HP-UX-Kurzübersicht Previous: KopierenUmbenennen und


JK