Provided by: manpages-de-dev_4.23.1-1_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-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()
       ü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.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 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  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⟩.