env(1) env(1)
NAME
env - Umgebung bei Ausführung von Kommandos ändern (set environment)
SYNTAX
env [-i] [--] [name=wert ...] [kommando [arg ...]]
BESCHREIBUNG
Mit env können Sie sich die aktuellen Umgebungsvariablen und ihre
Werte ausgeben lassen oder sie für ein Kommando verändern. env liest
die aktuelle Umgebung ein, ändert sie entsprechend der Angabe
name=wert und führt das Kommando dann in der veränderten Umgebung aus.
Die schon vorhandenen Angaben für name und wert werden durch die neuen
Angaben überschrieben und vor Ausführung des Kommandos der usprüngli-
chen Umgebung hinzugefügt. Die neuen Angaben bilden zusammen mit den
unveränderten Umgebungsvariablen die für die Ausführung von kommando
gültige Umgebung.
Wenn kein Kommando angegeben ist, wird die durch env veränderte Umge-
bung ausgegeben.
OPTIONEN
-i Die ursprüngliche Umgebung wird ignoriert; kommando wird dann
exakt in der angegebenen Umgebung ausgeführt.
Die Option -i entspricht der alten Option -, die weiterhin unter-
stützt wird.
-- Ende der Optionenliste. Die Angabe ist nötig, wenn das erste
Argument mit - beginnt.
name=wert
name ist der Name einer Variablen, die für kommando Gültigkeit
haben soll.
wert ist der Wert von name, der für kommando Gültigkeit haben
soll.
kommando
Name des Kommandos oder der Shell-Prozedur, die Sie unter der
definierten Umgebung ausführen lassen möchten.
arg Argument, z. B. Stellungs- oder Kennwortparameter, das Sie an
kommando übergeben können.
ENDESTATUS
0 env wurde erfolgreich ausgeführt.
1-125 Fehler.
126 Das angegebene kommando existiert, kann aber nicht aufgerufen
werden.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
env(1) env(1)
127 Das angegebene kommando ist nicht auffindbar.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Beispiel 1
Ausgabe der aktuellen Werte der Umgebungsvariablen:
$ env
DRU01=-ws=G01
HOME=/home/sysiphus
LANG=EnUS.ASCII
LOGNAME=sysiphus
MAIL=/var/mail/sysiphus
PATH=::/usr/bin:/usr/sbin:/opt/bin:
PS1=$
SHELL=/sbin/sh
TERM=97801
TERMCAP=/etc/termcap
TTY=/dev/004
TZ=MET-1MDT
USER=sysiphus
Beispiel 2
Ausgabe der geänderten Werte der Umgebungsvariablen:
$ env PATH=$HOME/proz
DRU01=-ws=G01
HOME=/home/sysiphus
LANG=EnUS.ASCII
LOGNAME=sysiphus
MAIL=/var/mail/sysiphus
PATH=/home/sysiphus/proz
PS1=$
SHELL=/sbin/sh
TERM=97801
TERMCAP=/etc/termcap
TTY=/dev/004
TZ=MET-1MDT
USER=sysiphus
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
env(1) env(1)
Die Umgebungsvariable PATH wurde geändert.
Beispiel 3
Ausgabe der geänderten Umgebungsvariablen mit der Option -:
$ env - PATH=$HOME/proz
PATH=/home/sysiphus/proz
Die ursprüngliche Umgebung wird ignoriert.
Beispiel 4
Aufruf der Datei fly, die sich in /home/sysiphus/SPRUECHE, also in
einem Unterverzeichnis des HOME-Verzeichnisses befindet.
Inhalt der Datei fly:
echo "Wenn hinter $1 $1 $2, $2 $1 $1 nach !"
fly wird nun von einer beliebigen Stelle in Ihrem Dateibaum aus aufge-
rufen, hier mit den Argumenten Fliegen und fliegen.
$ env PATH=$HOME/SPRUECHE fly Fliegen fliegen
Wenn hinter Fliegen Fliegen fliegen,
fliegen Fliegen Fliegen nach!
Mit der neuen Variablendefinition für PATH legen Sie fest, wo das ein-
gegebene Kommando, in diesem Fall die Datei fly, gesucht werden soll:
in einem Unterverzeichnis des HOME-Verzeichnisses, das Sie zusammen
mit dem Wert der Variablen $HOME angeben.
Als Argumente übergeben Sie an die Stellungsparameter $1 und $2 die
Zeichenketten Fliegen und fliegen.
Der Inhalt der Datei fly wird nur deshalb korrekt ausgeführt, weil das
Kommando echo ein eingebautes sh-Kommando ist. Alle Reliant UNIX Kom-
mandos, die in /usr/bin, /usr/sbin oder /opt/bin stehen, können durch
die Veränderung der Variablen PATH nicht mehr gefunden werden. Damit
die Reliant UNIX Kommandos weiterhin ausgeführt werden, muß die Varia-
ble PATH wie im folgenden Beispiel geändert werden.
Beispiel 5
Aufruf der Datei loesch, die sich im Verzeichnis /home/sysiphus/proz
befindet. In dieser Datei steht eine Prozedur, die zwei Dateien ver-
gleicht und die eine löscht, wenn die Dateien gleich sind.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
env(1) env(1)
Inhalt der Datei loesch:
if cmp -s $1 $2
then
rm $2
fi
Aufruf von loesch von einer beliebigen Stelle in Ihrem Dateibaum aus
mit den Argumenten dat1 und dat2:
$ env PATH=$PATH:$HOME/proz loesch dat1 dat2
Hier wurde an den ursprünglichen Suchpfad der neue angefügt, damit
sowohl die Prozedur loesch als auch die in der Prozedur enthaltenen
Reliant UNIX Kommandos ausgeführt werden können. Wenn nur der Suchpfad
für loesch angegeben wird, wird folgender Fehler gemeldet:
/home/sysiphus/proz/loesch: cmp: not found
SIEHE AUCH
exec(1), set(1), sh(1), profile(4), environ(5).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98