putenv(3) Library Functions Manual putenv(3) BEZEICHNUNG putenv - eine Umgebungsvariable andern oder hinzufugen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include int putenv(char *zeichenkette); Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): putenv(): _XOPEN_SOURCE || /* Glibc >= 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _SVID_SOURCE BESCHREIBUNG Die Funktion putenv() fugt Umgebungsvariablen hinzu oder andert ihren Wert. Das Argument zeichenkette hat die Form Name = Wert. Wenn Name in der Umgebung noch nicht existiert, dann wird zeichenkette zu der Umgebung hinzugefugt. Wenn Name existiert, dann wird der Wert von Name in der Umgebung auf Wert geandert. Die Zeichenkette, auf die zeichenkette zeigt, wird Teil der Umgebung, daher verandert das Abandern der Zeichenkette die Umgebung. RUCKGABEWERT Die Funktion putenv() gibt bei Erfolg null zuruck. Wenn ein Fehler auftritt, wird ein von null verschiedener Wert zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER ENOMEM nicht ausreichend Speicher vorhanden, um neue Umgebung zu reservieren ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------+-------------------------+-----------------------+ |Schnittstelle | Attribut | Wert | +--------------------+-------------------------+-----------------------+ |putenv() | Multithread-Fahigkeit | MT-Unsicher const:env | +--------------------+-------------------------+-----------------------+ STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001, SVr2, 4.3BSD-Reno. Die Funktion putenv() muss nicht ablaufinvariant sein und diejenige Glibc 2.0 ist es auch nicht, wohl aber die in Version in Glibc 2.1. Seit Version 2.1.2 ist die Glibc-Implementation konform zu SUSv2: Der an putenv() ubergebene Zeiger zeichenkette wird benutzt. Insbesondere wird die Zeichenkette Teil der Umgebung; sie spater zu andern wird die Umgebung andern. (Daher ist es ein Fehle,r putenv() mit einer automatischen Variable als Argument aufzurufen und dann von der aufrufenden Funktion zuruckzukehren, wahrend zeichenkette noch immer Teil der Umgebung ist.) Glibc 2.0 bis 2.1.1 unterscheidet sich jedoch davon: Es wird eine Kopie der Zeichenkette benutzt. Zum einen verursacht dies ein Speicherleck, ausserdem verstosst es gegen SUSv2. Die 4.3BSD-Reno-Version, wie Glibc 2.0, benutzt eine Kopie; dies wurde in allen modernen BSDs korrigiert. SUSv2 entfernt die Konstante aus dem Prototyp, daher tut dies auch Glibc 2.1.3. Die GNU-C-Bibliotheksimplementierung stellt eine nicht standardisierte Erweiterung bereit. Falls Zeichenkette kein Gleichheitszeichen enthalt: putenv("NAME"); dann wird die benannte Variable aus der Umgebung des Aufrufenden entfernt. SIEHE AUCH clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Schulze , Patrick Rother , Chris Leick , Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 putenv(3)