.\" -*- 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 "8. Oktober 2016" 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. Wenn
ein Kindprozess mit \fBfork\fP(2) erstellt wird, erbt es eine \fIKopie\fP der
Umgebung seines Elternprozesses.
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
Namen können in die Umgebung der Shell mit dem Befehl \fIexport\fP von \fBsh\fP(1)
oder dem Befehl \fIsetenv\fP von \fBcsh\fP(1) gelegt werden.
Die anfängliche Umgebung der Shell wird auf verschiedenen Arten aufgebaut,
wie Definitionen aus \fI/etc/environment\fP, die (auf Systemen, die \fBpam\fP(8)
einsetzen) durch \fBpam_env\fP(8) für alle Benutzer zum Anmeldezeitpunkt
verarbeitet wird. Zusätzlich können verschiedene
Shell\-Initialisierungsskripte, wie das systemweite Skript \fI/etc/profile\fP
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 \fIBefehl\fP ausführt, umfasst. Mehrere Variablendefinitionen,
getrennt durch Leerraumzeichen, können \fIBefehl\fP vorangestellt werden.
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).
.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"
\fBbash\fP(1), \fBcsh\fP(1), \fBenv\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),
\fBpam_env\fP(8)
.SH KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.09 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 \%https://www.kernel.org/doc/man\-pages/.
.SH ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer ,
Helge Kreutzmann
und
Dr. Tobias Quathamer
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 .