DOKK / manpages / debian 10 / manpages-de-dev / setenv.3.de
SETENV(3) Linux-Programmierhandbuch SETENV(3)

setenv - eine Umgebungsvariable ändern oder hinzufügen

ÜBERSICHT

#include <stdlib.h>
int setenv(const char *name, const char *wert,
           int ueberschreiben);
int unsetenv(const char *name);


Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

setenv(), unsetenv():

_POSIX_C_SOURCE >= 200112L
|| /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE

Die Funktion setenv() fügt die Variable name mit dem Wert wert zur Umgebung hinzu, falls name nicht bereits existiert. Wenn name in der Umgebung existiert, dann wird der Wert auf wert geändert, falls ueberschreiben nicht Null ist; wenn ueberschreiben Null ist, dann wird der Wert von name nicht geändert (und setenv() gibt einen Erfolgsstatus zurück). Diese Funktion erstellt Kopien der Zeichenketten, auf die name und wert zeigen (im Gegensatz zu putenv(3)).

Die Funktion unsetenv() löscht die Variable name aus der Umgebung. Falls name in der Umgebung nicht existiert, dann hat die Funktion Erfolg und die Umgebung bleibt unverändert.

Die Funktion setenv() gibt bei Erfolg Null oder bei einem Fehler -1 zurück. Dann wird errno so gesetzt, dass es den Grund des Fehlers anzeigt.

Die Funktion unsetenv() gibt bei Erfolg Null oder bei einem Fehler -1 zurück. Dann wird errno so gesetzt, dass es den Grund des Fehlers anzeigt.

name ist NULL, zeigt auf eine Zeichenkette der Länge 0 oder enthält ein »=«-Zeichen.
Der Speicher reicht nicht aus, um eine neue Variable zur Umgebung hinzuzufügen.

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

Schnittstelle Attribut Wert
setenv(), unsetenv() Multithread-Fähigkeit MT-Unsafe const:env

POSIX.1-2001, POSIX.1-2008, 4.3BSD.

POSIX.1 erfordert nicht, dass setenv() oder unsetenv() ablaufinvariant sind.

Vor Glibc 2.2.2 verlangte der Prototyp von unsetenv() die Rückgabe von void – aktuellere Versionen folgen dem POSIX.1-2-konformen Prototyp, der in der ÜBERSICHT gezeigt wird.

POSIX.1 spezifiziert, dass setenv() mit einem EINVAL-Fehler fehlschlagen sollte, wenn name ein »=«-Zeichen enthält; Versionen von Glibc vor 2.3.4 erlaubten jedoch ein »=«-Zeichen in name.

clearenv(3), getenv(3), putenv(3), environ(7)

Diese Seite ist Teil der Veröffentlichung 4.16 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 https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net> und Chris Leick <c.leick@vollbio.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>.

15. September 2017 GNU