Provided by: manpages-de-dev_2.16-1_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.03  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 <debian-l10n-german@lists.debian.org>.