Provided by: manpages-de_1.11-1_all bug

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>.