.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
.\" Fri Apr 2 11:32:09 MET DST 1993
.\" and Andries Brouwer (aeb@cwi.nl), Fri Feb 14 21:47:50 1997.
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" Modified Sun Jul 25 10:45:30 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Mon Oct 21 17:47:19 1996 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Wed Aug 27 20:28:58 1997 by Nicolás Lichtmaier (nick@debian.org)
.\" Modified Mon Sep 21 00:00:26 1998 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH ENVIRON 7 "19. August 2014" Linux Linux\-Programmierhandbuch
.SH BEZEICHNUNG
environ \- Umgebung des Benutzers
.SH ÜBERSICHT
.nf
\fBextern char **\fP\fIenviron\fP\fB;\fP
.br
.fi
.SH BESCHREIBUNG
Die Variable \fIenviron\fP 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 \fI\fP definiert, falls das »feature test macro«
\fB_GNU_SOURCE\fP definiert ist). Die Umgebung wird dem Prozess von dem
\fBexec\fP(3)\-Aufruf, der den Prozess gestartet hat, verfügbar gemacht.
Konventionsgemäß haben Zeichenketten in \fIenviron\fP die Form
»\fIName\fP=\fIWert\fP«. Häufige Beispiele sind:
.TP
\fBUSER\fP
Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der
BSD\-Welt ausgewertet).
.TP
\fBLOGNAME\fP
Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der
System\-V\-Welt ausgewertet).
.TP
\fBHOME\fP
Das Anmeldeverzeichnis eines Benutzers, wird von \fBlogin\fP(1) aus der Datei
\fBpasswd\fP(5) entnommen.
.TP
\fBLANG\fP
Der Name einer Locale (eines Gebietsschemas), die für Locale\-Kategorien
angewendet werden soll. Die Locale kann durch \fBLC_ALL\fP oder spezielle
Umgebungsvariablen wie \fBLC_COLLATE\fP, \fBLC_CTYPE\fP, \fBLC_MESSAGES\fP,
\fBLC_MONETARY\fP, \fBLC_NUMERIC\fP und \fBLC_TIME\fP überschrieben werden (siehe
\fBlocale\fP(7) für weitere Details über die Umgebungsvariablen \fBLC_*\fP).
.TP
\fBPATH\fP
Die Folge von Verzeichnisnamen, in denen \fBsh\fP(1) und viele weitere
Programme nach Dateien mit unvollständigen Namen suchen. Die einzelnen
Bestandteile/Präfixe werden durch \(aq\fB:\fP\(aq getrennt. (Gleichermaßen
benutzen einige Shells \fBCDPATH\fP, um das Ziel eines \fBcd\fP\-Befehls zu finden,
\fBman\fP(1) sucht in \fBMANPATH\fP nach Handbuchseiten, usw.)
.TP
\fBPWD\fP
das aktuelle Arbeitsverzeichnis; gesetzt von einigen Shells
.TP
\fBSHELL\fP
Der Pfadname der Login\-Shell des Benutzers. (Mit dieser Shell arbeitet der
Benutzer nach seiner Anmeldung.)
.TP
\fBTERM\fP
Der Terminaltyp, für den Ausgaben aufbereitet werden.
.TP
\fBPAGER\fP
das vom Benutzer bevorzugte Programm für die Anzeige von Textdateien
.TP
\fBEDITOR\fP/\fBVISUAL\fP
.\" .TP
.\" .B BROWSER
.\" The user's preferred utility to browse URLs. Sequence of colon-separated
.\" browser commands. See http://www.catb.org/~esr/BROWSER/ .
das vom Benutzer bevorzugte Programm für die Bearbeitung von Textdateien
.PP
Der Umgebung können weitere Namen hinzugefügt werden. Dazu benutzt man für
die \fBsh\fP(1) den Befehl \fBexport\fP und »Name=Inhalt«, für die \fBcsh\fP(1) gibt
es den \fBsetenv\fP\-Befehl. Argumente können auch beim Aufruf von \fBexec\fP(3) an
die Umgebung weitergegeben werden. C\-Programme können ihre Umgebung mit den
Funktionen \fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3) und \fBunsetenv\fP(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:
.LP
Die Variablen \fBLANG\fP, \fBLANGUAGE\fP, \fBNLSPATH\fP, \fBLOCPATH\fP, \fBLC_ALL\fP,
\fBLC_MESSAGES\fP und so weiter beeinflussen die Handhabung der Locale,
vgl. \fBcatopen\fP(3), \fBgettext\fP(3) und \fBlocale\fP(7).
.LP
\fBTMPDIR\fP beeinflusst die Pfadangabe für \fBtmpnam\fP(3) beim Anlegen von
Dateien und das temporäre Verzeichnis von \fBsort\fP(1) usw.
.LP
\fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP und andere \fBLD_*\fP Variablen beeinflussen
das Verhalten des dynamischen Laders/Linkers.
.LP
\fBPOSIXLY_CORRECT\fP veranlasst bestimmte Programme und Bibliotheksroutinen,
sich an die POSIX\-Vorgaben zu halten.
.LP
Das Verhalten von \fBmalloc\fP(3) wird von \fBMALLOC_*\fP\-Variablen gesteuert.
.LP
Die Variable \fBHOSTALIASES\fP enthält den Namen der Datei, in der die
Alias\-Namen für \fBgethostbyname\fP(3) stehen.
.LP
\fBTZ\fP und \fBTZDIR\fP stellen Informationen über Zeitzonen für \fBtzset\fP(3)
bereit und dadurch auch für Funktionen wie \fBctime\fP(3), \fBlocaltime\fP(3),
\fBmktime\fP(3) und \fBstrftime\fP(3). Siehe auch \fBtzselect\fP(8).
.LP
\fBTERMCAP\fP informiert darüber, wie bestimmte Terminals angesteuert werden
müssen (oder enthält den Namen einer Datei, die diese Informationen
bereitstellt).
.LP
\fBCOLUMNS\fP und \fBLINES\fP informieren Programme über die Größe des Fensters
und setzen damit vielleicht die tatsächliche Größe außer Kraft.
.LP
\fBPRINTER\fP oder \fBLPDEST\fP können den gewünschten Drucker angeben, siehe
\fBlpr\fP(1).
.LP
Usw.
.SH 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 \fBIFS\fP oder \fBLD_LIBRARY_PATH\fP angegeben hat.
Es besteht auch die Gefahr der »Verschmutzung des Namensraums«. Programme
wie \fImake\fP und \fIautoconf\fP erlauben Überschreiben der Namen von
Standard\-Dienstprogrammen aus der Umgebung mit ähnlich benannten Variablen
in Großbuchstaben. So verwendet man \fBCC\fP, um den gewünschten C\-Compiler zu
wählen (und analog \fBMAKE\fP, \fBAR\fP, \fBAS\fP, \fBFC\fP, \fBLD\fP, \fBLEX\fP, \fBRM\fP,
\fBYACC\fP, usw.). Aber in einigen traditionellen Nutzungen gibt eine
Umgebungsvariable keinen Pfadnamen, sondern Programmoptionen an. So gibt es
\fBMORE\fP, \fBLESS\fP und \fBGZIP\fP. Diese Verwendung wird als falsch verstanden
angesehen und sollte für neue Programme vermieden werden. Die Autoren von
\fIgzip\fP sollten erwägen, ihre Option in \fBGZIP_OPT\fP umzubenennen.
.SH "SIEHE AUCH"
\fBenv\fP(1), \fBbash\fP(1), \fBcsh\fP(1), \fBlogin\fP(1), \fBprintenv\fP(1), \fBsh\fP(1),
\fBtcsh\fP(1), \fBexecve\fP(2), \fBclearenv\fP(3), \fBexec\fP(3), \fBgetenv\fP(3),
\fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBlocale\fP(7), \fBld.so\fP(8)
.SH KOLOPHON
Diese Seite ist Teil der Veröffentlichung 3.74 des Projekts
Linux\-\fIman\-pages\fP. 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/.
.SH ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer
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 .