clearenv(3) Library Functions Manual clearenv(3)

clearenv - löscht die Liste der Umgebungsvariablen

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <stdlib.h>
int clearenv(void);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

clearenv():

    /* Glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

Die Funktion clearenv() löscht alle Name-Werte-Paare aus der Liste der Umgebungsvariablen und setzt den Wert der externen Variable environ auf NULL. Nach diesem Aufruf können mittels putenv(3) und setenv(3) neue Variablen zu der Umgebung hinzugefügt werden.

Wurde die Funktion clearenv() erfolgreich ausgeführt, gibt sie Null zurück. Ein von Null verschiedener Rückgabewert zeigt einen Fehler an.

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
clearenv() Multithread-Fähigkeit MT-Unsicher const:env

POSIX.1-2008.
Keine.

Glibc 2.0. POSIX.1-2001.
Glibc 2.0.

Verschiedenen Unix-Varianten (DG/UX, HP-UX, QNX, …). POSIX.9 (Sprachanbindung zu FORTRAN77). POSIX.1-1996 hat clearenv() und putenv(3) zunächst nicht akzeptiert, sich jedoch umentschieden und geplant, die Funktionen in einer späteren Ausgabe des Standards aufzunehmen (siehe §B4.6.1). POSIX.1-2001 hat jedoch nur putenv(3) aufgenommen und clearenv() zurückgewiesen.

Auf Systemen, auf denen clearenv() nicht verfügbar ist, erfüllt die Zuweisung


environ = NULL;

möglicherweise denselben Zweck.

Die Funktion clearenv() kann in sicherheitsbewussten Anwendungen nützlich sein, bei denen die Umgebung, die an mit exec(3) ausgeführte Programme weitergegeben wird, genau gesteuert werden soll. Die Anwendung würde dies erreichen, indem sie zuerst die Umgebung bereinigt und dann ausgewählte Umgebungsvariablen hinzufügt.

Beachten Sie, dass der Haupteffekt von clearenv() die Anpassung des Wertes des Zeigers environ(7) ist. Diese Funktion löscht nicht den Inhalt des Puffers, der die Umgebungsdefinitionen enthält.

In den Handbuchseiten von DG/UX und Tru64 steht: Falls environ von irgendetwas Anderem als den Funktionen putenv(3), getenv(3) oder clearenv() geändert wurde, wird clearenv() einen Fehler zurückgeben und die Prozessumgebung bleibt unverändert.

getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras <kobras@linux.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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 die Mailingliste der Übersetzer.

2. Mai 2024 Linux man-pages 6.8