Provided by: manpages-de-dev_4.15.0-9_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 <= 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 │
       └───────────────────────────────────────────┴───────────────────────┴─────────────────────┘

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.13  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.