table of contents
other versions
- jessie 1.8-1
- stretch 1.22-1
- testing 2.11-1
- stretch-backports 2.11-1~bpo9+2
- unstable 2.12-1
other sections
ENVIRON(7) | Linux-Programmierhandbuch | ENVIRON(7) |
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. 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).
- 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 Login-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
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¶
env(1), bash(1), csh(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)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.74 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 http://www.kernel.org/doc/man-pages/.ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.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>.19. August 2014 | Linux |