Soll ein Zeichen, das normalerweise als Operator aufgefaát wird,
als normales Zeichen benutzen werden, m�ssen das Escape-Zeichen
^ vorangestellt werden.
Einige Operatoren werden nur an einer OS/2-Befehlszeile unterst�tzt und
nicht in DOS-Sitzungen.
Die folgende Liste f�hrt die Befehlsoperatoren in der Reihenfolge auf, in der sie von den Befehlsinterpretern erkannt werden:
^-Zeichen ist das Escape-Zeichen und erlaubt
es, Befehlsoperator-Zeichen als normale Zeichen zu benutzen
(nur OS/2-Sitzungen).
Um z.B. folgendes auf dem Bildschirm auszugeben:
Geben Sie Ihr Alter & Ihre Sozialversicherungsnummer ein ==>m�ssen Sie folgenden Befehl ausf�hren:
Geben Sie Ihr Alter ^& Ihre Sozialversicherungsnummer ein ==^>
() gruppieren Befehle, so daá die normale
Reihenfolge, in der Befehle bearbeitet werden, �bersteuert wird
(nur OS/2-Sitzungen).
> leitet die Ausgabe in eine Datei oder auf
ein Ger„t um.
Wenn die angegebene Datei bereits existiert, wird sie �berschrieben.
>> leitet die Ausgabe in eine Datei oder auf
ein Ger„t um.
Wenn die angegebene Datei bereits existiert, wird die Ausgabe an die
Datei angeh„ngt.
< holt die Eingabedaten statt von der Standardeingabe
aus der angegebenen Datei oder von dem angegebenen Ger„t.
Eingabe und Ausgabe eines jeden Programms sind vordefiniert und werden �ber eine Nummer (ein sogenanntes Handle) identifiziert. Die folgenden drei sind definiert:
STDIN. Ihr Handle ist 0.
Standardm„áig ist dies die Tastatur.
STDOUT. Ihr Handle ist 1.
Standardm„áig ist dies der Bildschirm.
STDERR
heiát. Ihr Handle ist 2. Standardm„áig ist dies ebenfalls der Bildschirm,
aber diese Trennung erlaubt es, Fehlermeldungen separat umzuleiten.
STDIN liest oder nach STDOUT
oder STDERR schreibt. Wenn sich das Programm nicht an diese
Konventionen h„lt (z.B. wenn es sich nicht um ein Textmodus-Programm handelt
oder wenn das Programm direkt mit der Hardware arbeitet), funktioniert
die Umleitung nicht.
Wenn mehr als ein Operator angegeben ist, wird nur der letzte beachtet.
Beispiel 1: Um die Ausgabe des Befehls
DIR an den Drucker umzuleiten,
geben Sie ein:
DIR > PRNBeispiel 2: Um die Ausgabe des Befehls
DIR
in eine neue Datei namens listing.txt umzuleiten, geben Sie
ein:
DIR > listing.txtDie Datei
listing.txt wird dann automatisch erzeugt oder,
wenn sie bereits existiert, �berschrieben.
Beispiel 3: Um sowohl STDERR als auch
STDOUT umzuleiten, leiten Sie zuerst STDOUT um und
dann STDERR nach STDOUT. Umleitungs-Handles,
die anstelle von Dateinamen angegeben werden, muá ein &-Zeichen
vorangestellt werden. Um also alle Ausgaben einschlieálich der Fehlermeldungen
von dem Befehl DIR in eine neue Datei
listing.txt umzuleiten, geben Sie ein:
DIR *.* >listing.txt 2>&1
|), ASCII-Zeichen 124,
wird benutzt, um zwei Befehle mit einer sogenannten Pipe (englisch f�r
"R”hre", "Leitung") zu verbinden. Eine Pipe f„ngt die Ausgabe eines Programms
ab und leitet sie als Eingabe an ein anderes Programm weiter.
Pipes werden h„ufig mit sogenannten Filtern verwendet.
Filter sind Dienstprogramme des Systems, die Daten von STDIN empfangen,
diese verarbeiten und nach STDOUT wieder ausgeben.
&os2; stellt drei Filter zur Verf�gung:
SORT,
FIND, und
MORE. Viele weitere Filter werden
von Drittherstellern zur Verf�gung gestellt.
Beispiel: Um das aktuelle Verzeichnis sortiert auszugeben und
die Ausgabe in eine Datei namens sorted.txt umzuleiten,
geben Sie ein:
DIR | SORT > sorted.txtHinweis: Wenn auf der linken Seite einer Pipe ein ung�ltiger Befehl steht, wird der rechte Teil der Pipe nicht ausgef�hrt. Beispiel:
xxxx 2>&1 | MOREwird die Ausgabe der Fehlermeldung nicht an
MORE
weitergeben, da xxxx ein ung�ltiges Programm ist.
&& trennt mehrere Programme einer Sequenz von Programmen
bedingt.
Das n„chste Programm in der Sequenz wird nur ausgef�hrt, wenn das vorherige
Programm erfolgreich endete
(nur OS/2-Sitzungen).
|| trennt ebenfalls mehrere Programme einer Sequenz von Programmen
bedingt.
Das n„chste Programm in der Sequenz wird nur ausgef�hrt, wenn das vorherige
Programm nicht erfolgreich endete
(nur OS/2-Sitzungen).
& trennt mehrere Programme einer Sequenz von Programmen
unbedingt.
Das n„chste Programm in der Sequenz wird unabh„ngig davon ausgef�hrt, ob das
vorherige Programm erfolgreich beendet wurde
(nur OS/2-Sitzungen).