Rechercher une page de manuel

Chercher une autre page de manuel:

environ

Autres langues

Langue: de

Version: 27. Dezember 1998 (openSuse - 09/10/07)

Autres sections - même nom

Section: 7 (Divers)

BEZEICHNUNG

environ - Umgebung des Benutzers

ÜBERSICHT


#include <unistd.h>



extern char **environ;

BESCHREIBUNG

Zu Beginn eines Prozesses stellt exec(2) ein String (Zeichenketten) Array zur Verfügung. Dieses Array wird `Umgebung' genannt und enthält konventionsgemäß Zeichenketten in der Form von `name=value'. Übliche 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).
HOME
Das Anmeldeverzeichnis eines Benutzers, gesetzt von login(1) nach Angaben aus passwd(5).
LANG
Eine Variable, anhand derer versucht wird, nationale Besonderheiten (Währung, Datumsformat...) zu verarbeiten, wenn diese Steuerung nicht durch LC_ALL erfolgt oder durch spezifischere Variablen.
PATH
Die Reihenfolge von Verzeichnisnamen, in denen sh(1) und viele weitere Programme nach Dateien suchen, deren Pfadname unvollständig ist. Die einzelnen Namen werden durch `:' getrennt. (Gleichermaßen benutzen einige Shells CDPATH, um das Ziel eines cd - Kommandos zufinden, man(1) sucht in MANPATH nach Handbuchseiten, usw.)
PWD
Das aktuelle Arbeitsverzeichnis. Wird von einigen Shells gesetzt.
SHELL
Der Dateiname der Login-Shell des Benutzers.
TERM
Der Terminaltyp, für den Ausgaben aufbereitet werden.

Der Umgebung können weitere Namen hinzugefügt werden. Dazu benutzt man für die sh(1) das Kommando export und `Name=Inhalt', für die csh(1) gibt es das setenv - Kommando. Argumente können auch beim Aufruf von exec(2) an die Umgebung weitergegeben werden. C-Programme können ihre Umgebung mit den Funktionen getenv(), putenv(), setenv() und unsetenv() beeinflussen.

Bitte beachten Sie, dass das Verhalten vieler Programme und Bibliotheksroutinen vom Vorhandensein oder dem Inhalt bestimmter Umgebungsvariablen beeinflusst wird. Eine Zufallsauswahl:

Die Variablen LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES etc. beeinflussen die Verarbeitung landesspezifischer Daten.

TMPDIR liefert die Pfadangabe, die tmpnam() beim Anlegen von Dateien benutzt, sort(1) benutzt es als Übergangsverzeichnis, usw.

LD_LIBRARY_PATH, LD_PRELOAD und andere LD_* Variablen beeinflussen das Verhalten der dynamischen Loader / Linker.

POSIXLY_CORRECT veranlasst gewisse Programme und Bibliotheksroutinen, sich an die Vorgaben von POSIX zu halten.

Das Verhalten von malloc() wird von MALLOC_* Variablen gesteuert.

Die Variable HOSTALIASES enthält den Namen der Datei, in der die Alias-Namen für gethostbyname() stehen.

TZ und TZDIR geben Zeitzoneninformationen.

TERMCAP informiert darüber, wie bestimmte Terminals angesteuert werden müssen (oder enthält den Namen eine Datei, die diese Informationen bereitstellt).

Usw. usw.

Es ist offensichtlich, dass es hier ein Sicherheitsproblem gibt. Schon manches Systemkommando hat den Pfad der Tugend verlassen, weil ein Benutzer unübliche Werte für IFS oder LD_LIBRARY_PATH angegeben hat.

SIEHE AUCH

login(1), sh(1), bash(1), csh(1), tcsh(1), execve(2), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3).
Puis la lumière se fit, (dans les quinze watts, car je ne suis pas riche), et je me dis que l'« at » pouvait être retranché de cette sorte d'égalité. Ainsi, mathématiquement, l'égalité
« À bon ch bon r »
est parfaitement correcte. Et mes quinze watts en firent bientôt vingt-cinq, quand je me mis en devoir d'ajouter des quantités égales et positives, imaginaires ou réelles aux deux termes.
-- Vian, Boris