setenv - eine Umgebungsvariable ändern oder hinzufügen
Standard-C-Bibliothek (
libc,
-lc)
#include <stdlib.h>
int setenv(const char *name, const char *wert, int ueberschreiben);
int unsetenv(const char *name);
setenv(),
unsetenv():
_POSIX_C_SOURCE >= 200112L
|| /* Glibc <= 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 Funktionen
setenv() und
unsetenv() geben bei Erfolg Null oder
bei einem Fehler -1 zurück. Dann wird
errno gesetzt, um den
Fehler anzuzeigen.
- 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.
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 vor Glibc 2.3.4 erlaubten jedoch ein
»=«-Zeichen in
name.
clearenv(3),
getenv(3),
putenv(3),
environ(7)
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
<
[email protected]> und Chris Leick <
[email protected]> 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