SETENV(3)

BEZEICHNUNG
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():
    _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600

BESCHREIBUNG
The setenv() function adds the variable name to the environment with the value value, if name does not already exist. If name does exist in the environment, then its value is changed to value if overwrite is nonzero; if overwrite is zero, then the value of name is not changed. This function makes copies of the strings pointed to by name and value (by contrast with 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.

RÜCKGABEWERT
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.

FEHLER

EINVAL
    name ist NULL, zeigt auf eine Zeichenkette der Länge 0 oder enthält ein »=«-Zeichen.

ENOMEM
    Der Speicher reicht nicht aus, um eine neue Variable zur Umgebung hinzuzufügen.

KONFORM ZU
4.3BSD, POSIX.1-2001.

ANMERKUNGEN
POSIX.1-2001 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-2001-konformen Prototyp, der in der ÜBERSICHT gezeigt wird.

FEHLER
POSIX.1-2001 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.

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

KOLOPHON
This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://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>.