.\" -*- 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 "15. September 2017" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG environ \- Umgebung des Benutzers .SH ÜBERSICHT .nf \fBextern char **\fP\fIenviron\fP\fB;\fP .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. .PP 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 »\fB:\fP« 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 Anmelde\-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. .PP 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. .PP Bourne\-artige Shells unterstützen die Syntax .PP NAME=Wert Befehl .PP 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. .PP 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. .PP Bitte beachten Sie, dass das Verhalten vieler Programme und Bibliotheksroutinen vom Vorhandensein oder dem Inhalt bestimmter Umgebungsvariablen beeinflusst wird. Zu den Beispielen gehören: .IP * 3 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). .IP * \fBTMPDIR\fP beeinflusst die Pfadangabe für \fBtempnam\fP(3) beim Anlegen von Dateien und das temporäre Verzeichnis von \fBsort\fP(1) usw. .IP * \fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP und andere \fBLD_*\fP\-Variablen beeinflussen das Verhalten des dynamischen Laders/Linkers. .IP * \fBPOSIXLY_CORRECT\fP veranlasst bestimmte Programme und Bibliotheksroutinen, sich an die POSIX\-Vorgaben zu halten. .IP * Das Verhalten von \fBmalloc\fP(3) wird von \fBMALLOC_*\fP\-Variablen gesteuert. .IP * Die Variable \fBHOSTALIASES\fP enthält den Namen der Datei, in der die Alias\-Namen für \fBgethostbyname\fP(3) stehen. .IP * \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). .IP * \fBTERMCAP\fP informiert darüber, wie bestimmte Terminals angesteuert werden müssen (oder enthält den Namen einer Datei, die diese Informationen bereitstellt). .IP * \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. .IP * \fBPRINTER\fP oder \fBLPDEST\fP können den gewünschten Drucker angeben, siehe \fBlpr\fP(1). .SH ANMERKUNGEN Die Aktionen \fBprctl\fP(2) \fBPR_SET_MM_ENV_START\fP und \fBPR_SET_MM_ENV_END\fP können zur Steuerung des Orts der Umgebung des Prozesses verwandt werden. .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. .PP 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 5.04 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 , Dr. Tobias Quathamer , Helge Kreutzmann und Mario Blättermann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE 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 die .MT debian-l10n-german@\:lists.\:debian.\:org Mailingliste der Übersetzer .ME .