Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       putenv - eine Umgebungsvariable ändern oder hinzufügen

ÜBERSICHT

       #include <stdlib.h>

       int putenv(char *zeichenkette);

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

       putenv(): _XOPEN_SOURCE
           || /* Glibc seit 2.19: */ _DEFAULT_SOURCE
           || /* Glibc-Versionen <= 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 und einen anderen Wert als null, wenn ein Fehler
       auftritt. Im Fehlerfall wird errno gesetzt, um die Ursache des Fehlers 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 │
       └───────────────┴───────────────────────┴─────────────────────┘

KONFORM ZU

       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
       zeichenkette 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
       Zeichenkette 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)

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  5.10  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 Martin Schulze <joey@infodrom.org>, Patrick
       Rother <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.

GNU                                               6. März 2019                                         PUTENV(3)