Provided by: manpages-de_1.11-1_all 

BEZEICHNUNG
environ - Umgebung des Benutzers
ÜBERSICHT
extern char **environ;
BESCHREIBUNG
Die Variable environ zeigt auf die »Umgebung«, ein Feld von Zeigern auf Zeichenketten. Der letzte Zeiger
in diesem Feld hat den Wert NULL. (Diese Variable muss im Anwenderprogramm deklariert werden, ist aber in
der Header-Datei <unistd.h> definiert, falls das »feature test macro« _GNU_SOURCE definiert ist). Die
Umgebung wird dem Prozess von dem exec(3)-Aufruf, der den Prozess gestartet hat, verfügbar gemacht.
Konventionsgemäß haben Zeichenketten in environ die Form »Name=Wert«. Häufige Beispiele sind:
USER Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der BSD-Welt ausgewertet).
LOGNAME
Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der System-V-Welt
ausgewertet).
HOME Das Anmeldeverzeichnis eines Benutzers, wird von login(1) aus der Datei passwd(5) entnommen.
LANG Der Name einer Locale (eines Gebietsschemas), die für Locale-Kategorien angewendet werden soll.
Die Locale kann durch LC_ALL oder spezielle Umgebungsvariablen wie LC_COLLATE, LC_CTYPE,
LC_MESSAGES, LC_MONETARY, LC_NUMERIC und LC_TIME überschrieben werden (siehe locale(7) für weitere
Details über die Umgebungsvariablen LC_*).
PATH Die Folge von Verzeichnisnamen, in denen sh(1) und viele weitere Programme nach Dateien mit
unvollständigen Namen suchen. Die einzelnen Bestandteile/Präfixe werden durch ':' getrennt.
(Gleichermaßen benutzen einige Shells CDPATH, um das Ziel eines cd-Befehls zu finden, man(1) sucht
in MANPATH nach Handbuchseiten, usw.)
PWD das aktuelle Arbeitsverzeichnis; gesetzt von einigen Shells
SHELL Der Pfadname der Login-Shell des Benutzers. (Mit dieser Shell arbeitet der Benutzer nach seiner
Anmeldung.)
TERM Der Terminaltyp, für den Ausgaben aufbereitet werden.
PAGER das vom Benutzer bevorzugte Programm für die Anzeige von Textdateien
EDITOR/VISUAL
das vom Benutzer bevorzugte Programm für die Bearbeitung von Textdateien
Der Umgebung können weitere Namen hinzugefügt werden. Dazu benutzt man für die sh(1) den Befehl export
und »Name=Inhalt«, für die csh(1) gibt es den setenv-Befehl. Argumente können auch beim Aufruf von
exec(3) an die Umgebung weitergegeben werden. C-Programme können ihre Umgebung mit den Funktionen
getenv(3), putenv(3), setenv(3) und unsetenv(3) beeinflussen.
Bitte beachten Sie, dass das Verhalten vieler Programme und Bibliotheksroutinen vom Vorhandensein oder
dem Inhalt bestimmter Umgebungsvariablen beeinflusst wird. Eine willkürliche Auswahl:
Die Variablen LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES und so weiter beeinflussen die
Handhabung der Locale, vgl. catopen(3), gettext(3) und locale(7).
TMPDIR beeinflusst die Pfadangabe für tmpnam(3) beim Anlegen von Dateien und das temporäre Verzeichnis
von sort(1) usw.
LD_LIBRARY_PATH, LD_PRELOAD und andere LD_* Variablen beeinflussen das Verhalten des dynamischen
Laders/Linkers.
POSIXLY_CORRECT veranlasst bestimmte Programme und Bibliotheksroutinen, sich an die POSIX-Vorgaben zu
halten.
Das Verhalten von malloc(3) wird von MALLOC_*-Variablen gesteuert.
Die Variable HOSTALIASES enthält den Namen der Datei, in der die Alias-Namen für gethostbyname(3) stehen.
TZ und TZDIR stellen Informationen über Zeitzonen für tzset(3) bereit und dadurch auch für Funktionen wie
ctime(3), localtime(3), mktime(3) und strftime(3). Siehe auch tzselect(8).
TERMCAP informiert darüber, wie bestimmte Terminals angesteuert werden müssen (oder enthält den Namen
einer Datei, die diese Informationen bereitstellt).
COLUMNS und LINES informieren Programme über die Größe des Fensters und setzen damit vielleicht die
tatsächliche Größe außer Kraft.
PRINTER oder LPDEST können den gewünschten Drucker angeben, siehe lpr(1).
Usw.
FEHLER
Es ist offensichtlich, dass es hier ein Sicherheitsproblem gibt. Schon mancher Systembefehl hat den Pfad
der Tugend verlassen, weil ein Benutzer ungebräuchliche Werte für IFS oder LD_LIBRARY_PATH angegeben hat.
Es besteht auch die Gefahr der »Verschmutzung des Namensraums«. Programme wie make und autoconf erlauben
Überschreiben der Namen von Standard-Dienstprogrammen aus der Umgebung mit ähnlich benannten Variablen in
Großbuchstaben. So verwendet man CC, um den gewünschten C-Compiler zu wählen (und analog MAKE, AR, AS,
FC, LD, LEX, RM, YACC, usw.). Aber in einigen traditionellen Nutzungen gibt eine Umgebungsvariable keinen
Pfadnamen, sondern Programmoptionen an. So gibt es MORE, LESS und GZIP. Diese Verwendung wird als falsch
verstanden angesehen und sollte für neue Programme vermieden werden. Die Autoren von gzip sollten
erwägen, ihre Option in GZIP_OPT umzubenennen.
SIEHE AUCH
env(1), bash(1), csh(1), login(1), printenv(1), sh(1), tcsh(1), execve(2), clearenv(3), exec(3),
getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8)
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.04 des Projekts Linux-man-pages. Eine Beschreibung des
Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
sich unter http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>
erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an
<debian-l10n-german@lists.debian.org>.
Linux 19. August 2014 ENVIRON(7)