.\" -*- 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. .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" 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 "2. Mai 2024" "Linux man\-pages 6.8" .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. Die Umgebung wird dem Prozess von dem \fBexec\fP(2)\-Aufruf verfügbar gemacht, wenn ein neues Programm gestartet wird. Wenn ein Kindprozess mit \fBfork\fP(2) erstellt wird, erbt es eine \fIKopie\fP der Umgebung seines Elternprozesses. .P Die Zeichenketten in \fIenviron\fP haben die Form »\fIName\fP\fB=\fP\fIWert\fP«. Groß\- oder Kleinschreibung wird für den Namen berücksichtigt; außerdem darf der Name nicht das Zeichen »\fB=\fP« enthalten. Der Wert kann alles sein, was als Zeichenkette dargestellt werden kann. Weder der Name noch der Wert dürfen ein eingebettetes Null\-Byte enthalten (»\e0«), da dieses als Ende der Zeichenkette interpretiert wird. .P Umgebungsvariablen 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. .P 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. .P Bourne\-artige Shells unterstützen die Syntax .P .in +4n .EX NAME=Wert Befehl .EE .in .P 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. .P 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. .P Es folgt eine Liste der typischerweise in einem System enthaltenen Umgebungsvariablen. Diese Liste ist unvollständig und enthält nur häufige Variablen, die von durchschnittlichen Benutzern in täglichen Routinen gesehen werden. Die spezifischen Umgebungsvariablen eines Programms oder einer Bibliotheksfunktion finden Sie im Abschnitt UMGEBUNG oder UMGEBUNGSVARIABLEN der jeweiligen Handbuchseite. .TP \fBUSER\fP Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der BSD\-Welt ausgewertet). Wird zum Anmeldezeitpunkt gesetzt, siehe den nachfolgenden Abschnitt ANMERKUNGEN. .TP \fBLOGNAME\fP Der Name des angemeldeten Benutzers (wird von einigen Programmen aus der System\-V\-Welt ausgewertet). Wird zum Anmeldezeitpunkt gesetzt, siehe den nachfolgenden Abschnitt ANMERKUNGEN. .TP \fBHOME\fP Das Anmeldeverzeichnis eines Benutzers. Siehe den nachfolgenden Abschnitt ANMERKUNGEN. .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 Abfolge der Verzeichnispräfixe, die von \fBsh\fP(1) und vielen anderen Programmen bei der Suche nach ausführbaren Dateien verwendet wird, wird als einfacher Dateiname angegeben (das heißt, als Pfadname ohne Schrägstriche). Die Präfixe werden durch Doppelpunkte getrennt (\fB:\fP). Die Liste der Präfixe wird vom Anfang bis zum Ende durchsucht, indem der Pfadname aus einem vorangestellten Präfix, einem Schrägstrich und dem Dateinamen gebildet wird, bis eine ausführbare Datei gefunden wird. .IP Außerdem kann als klassische Funktion ein Präfix der Länge Null verwendet werden (als zwei aufeinander folgende Doppelpunkte oder einen vorangestellten oder angehängten Doppelpunkt. Dies wird als das aktuelle Arbeitsverzeichnis interpretiert. Allerdings gilt diese Form der Angabe als veraltet. POSIX merkt an, dass eine konforme Anwendung einen expliziten Pfadnamen verwenden sollte (zum Beispiel \fI.\fP), um das aktuelle Arbeitsverzeichnis anzugeben. .IP Analog zu \fBPATH\fP 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 Absoluter Pfad zum aktuellen Arbeitsverzeichnis; muss teilweise kanonisch sein (keine \fI.\&\fP\- oder \fI..\&\fP\-Komponenten). .TP \fBSHELL\fP Der absolute Pfadname der Anmeldeshell des Benutzers. Wird zum Anmeldezeitpunkt gesetzt, siehe den nachfolgenden Abschnitt ANMERKUNGEN. .TP \fBTERM\fP Der Terminaltyp, für den Ausgaben aufbereitet werden. .TP \fBPAGER\fP Das vom Benutzer bevorzugte Dienstprogramm zum Anzeigen von Textdateien. Jede als »command_string«\-Operand zum Befehl \fIsh\ \-c\fP akzeptierbare Zeichenkette sollte gültig sein. Falls \fBPAGER\fP Null oder nicht festgelegt ist, dann fallen Anwendungen, die ein Textanzeigeprogramm starten, auf ein Programm wie \fBless\fP(1) oder \fBmore\fP(1) zurück. .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/\[ti]esr/BROWSER/ . Das vom Benutzer bevorzugte Dienstprogramm zum Bearbeiten von Textdateien. Jede als »command_string«\-Operand zum Befehl \fIsh\ \-c\fP akzeptierbare Zeichenkette sollte gültig sein. .P 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 \[bu] 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 \[bu] \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 \[bu] \fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP und andere \fBLD_*\fP\-Variablen beeinflussen das Verhalten des dynamischen Laders/Linkers. Siehe auch \fBld.so\fP(8). .IP \[bu] \fBPOSIXLY_CORRECT\fP veranlasst bestimmte Programme und Bibliotheksroutinen, sich an die POSIX\-Vorgaben zu halten. .IP \[bu] Das Verhalten von \fBmalloc\fP(3) wird von \fBMALLOC_*\fP\-Variablen gesteuert. .IP \[bu] Die Variable \fBHOSTALIASES\fP enthält den Namen der Datei, in der die Alias\-Namen für \fBgethostbyname\fP(3) stehen. .IP \[bu] \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 \[bu] \fBTERMCAP\fP informiert darüber, wie bestimmte Terminals angesteuert werden müssen (oder enthält den Namen einer Datei, die diese Informationen bereitstellt). .IP \[bu] \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 \[bu] \fBPRINTER\fP oder \fBLPDEST\fP können den gewünschten Drucker angeben, siehe \fBlpr\fP(1). .SH ANMERKUNGEN Aus historischen Gründen muss \fIenviron\fP standardmäßig im Programm des Benutzers deklariert sein. Dennoch kann \fIenviron\fP als (nicht standardmäßiges) Zugeständnis an Programmierer in der Header\-Datei \fI\fP deklariert sein, falls das Feature\-Test\-Makro \fB_GNU_SOURCE\fP definiert ist (siehe \fBfeature_test_macros\fP(7)). .P 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. .P Die Variablen \fBHOME\fP, \fBLOGNAME\fP, \fBSHELL\fP und \fBUSER\fP werden gesetzt, wenn der Benutzer über die Sitzungsverwaltungs\-Schnittstelle gewechselt wird, was typischerweise durch ein Programm wie \fBlogin\fP(1) aus der Benutzerdatenbank (wie \fBpasswd\fP(5)) geschieht. (Der Wechsel zum Systembenutzer »root« mittels \fBsu\fP(1) kann zu einer gemischten Umgebung führen, in der \fBLOGNAME\fP und \fBUSER\fP vom vorherigen Benutzer übernommen werden, siehe \fBsu\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. .P 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 und \fBLESS\fP. Diese Verwendung wird als falsch verstanden und sollte für neue Programme vermieden werden. .SH "SIEHE AUCH" \fBbash\fP(1), \fBcsh\fP(1), \fBenv\fP(1), \fBlogin\fP(1), \fBprintenv\fP(1), \fBsh\fP(1), \fBsu\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) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Helge Kreutzmann und Mario Blättermann erstellt. .PP 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. .PP 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 .