Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       putenv - eine Umgebungsvariable ändern oder hinzufügen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <stdlib.h>

       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() fügt Umgebungsvariablen hinzu oder ändert ihren Wert. Das Argument zeichenkette hat
       die  Form  Name  =  Wert.  Wenn  Name in der Umgebung noch nicht existiert, dann wird zeichenkette zu der
       Umgebung hinzugefügt. Wenn Name existiert, dann wird der Wert von Name in der Umgebung auf Wert geändert.
       Die Zeichenkette, auf die zeichenkette zeigt, wird Teil der Umgebung, daher verändert  das  Abändern  der
       Zeichenkette die Umgebung.

RÜCKGABEWERT

       Die  Funktion  putenv()  gibt  bei  Erfolg  null  zurück.  Wenn  ein  Fehler  auftritt, wird ein von null
       verschiedener Wert zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

       ENOMEM nicht ausreichend Speicher vorhanden, um neue Umgebung zu reservieren

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌─────────────────────────────────────────────────────────┬───────────────────────┬─────────────────────┐
       │ SchnittstelleAttributWert                │
       ├─────────────────────────────────────────────────────────┼───────────────────────┼─────────────────────┤
       │ putenv()                                                │ Multithread-Fähigkeit │ MT-Unsafe const:env │
       └─────────────────────────────────────────────────────────┴───────────────────────┴─────────────────────┘

STANDARDS

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

ANMERKUNGEN

       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() übergebene Zeiger zei‐
       chenkette wird benutzt. Insbesondere wird die Zeichenkette Teil der Umgebung; sie später zu  ändern  wird
       die  Umgebung  ändern.  (Daher  ist es ein Fehle,r putenv() mit einer automatischen Variable als Argument
       aufzurufen und dann von der aufrufenden Funktion zurückzukehren, während 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, außerdem verstößt es gegen SUSv2.

       Die 4.4BSD-Version, wie Glibc 2.0, benutzt eine Kopie.

       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 Zeichen‐
       kette kein Gleichheitszeichen enthält:

           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)

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Patrick Ro‐
       ther <krd@gulu.net>, Chris Leick <c.leick@vollbio.de>, Mario  Blättermann  <mario.blaettermann@gmail.com>
       und Helge Kreutzmann <debian@helgefjell.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  die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                             5. Februar 2023                                       putenv(3)