Provided by: manpages-de_2.14-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. Wenn ein Kindprozess mit
       fork(2) erstellt wird, erbt es eine Kopie der Umgebung seines Elternprozesses.

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

       Namen können in die Umgebung der Shell mit dem Befehl export von  sh(1)  oder  dem  Befehl
       setenv von csh(1) gelegt werden.

       Die   anfängliche   Umgebung  der  Shell  wird  auf  verschiedenen  Arten  aufgebaut,  wie
       Definitionen  aus  /etc/environment,  die  (auf  Systemen,  die  pam(8)  einsetzen)  durch
       pam_env(8)  für  alle  Benutzer  zum  Anmeldezeitpunkt verarbeitet wird. Zusätzlich können
       verschiedene Shell-Initialisierungsskripte, wie das systemweite Skript  /etc/profile  oder
       benutzerbezogene  Initialisierungsskripte Befehle enthalten, die Variablen zu der Umgebung
       der Shell hinzufügen. Lesen Sie  dafür  die  Handbuchseite  Ihrer  bevorzugten  Shell  für
       weitere Details.

       Bourne-artige Shells unterstützen die Syntax

           NAME=Wert Befehl

       um  eine Umgebungsvariablendefinition zu erstellen, deren Geltungsbereich nur den Prozess,
       der   Befehl   ausführt,   umfasst.   Mehrere   Variablendefinitionen,   getrennt    durch
       Leerraumzeichen, können Befehl vorangestellt werden.

       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.  Zu  den
       Beispielen gehören:

       *  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 tempnam(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).

ANMERKUNGEN

       Die Aktionen prctl(2) PR_SET_MM_ENV_START und PR_SET_MM_ENV_END können zur  Steuerung  des
       Orts der Umgebung des Prozesses verwandt werden.

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

       bash(1), csh(1), env(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), pam_env(8)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.16  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 https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Eberhard  Schauer
       <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org>  und  Helge  Kreutzmann
       <debian@helgefjell.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>.