putenv(3) Library Functions Manual putenv(3)

putenv - modifică sau adaugă o variabilă de mediu

Biblioteca C standard (libc, -lc)

#include <stdlib.h>
int putenv(char *string);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

putenv():

    _XOPEN_SOURCE
        || /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE

Funcția putenv() adaugă sau modifică valoarea variabilelor de mediu. Argumentul string este de forma nume=valoare. Dacă nume nu există deja în mediu, atunci string se adaugă în mediu. Dacă nume există, atunci valoarea lui nume din mediu este schimbată în valoare. Șirul indicat de string devine parte a mediului, astfel încât modificarea șirului modifică mediul.

Funcția putenv() returnează zero în caz de succes. În caz de eșec, aceasta returnează o valoare diferită de zero, iar errno este configurată pentru a indica eroarea.

Spațiu insuficient pentru a aloca un nou mediu.

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
putenv() Siguranța firelor MT-Unsafe const:env

POSIX.1-2008.

POSIX.1-2001, SVr2, 4.3BSD-Reno.

Nu este necesar ca funcția putenv() să fie reentrantă, iar cea din glibc 2.0 nu este, dar cea din versiunea glibc 2.1 este.

Începând cu glibc 2.1.2, implementarea glibc este conformă cu SUSv2: se utilizează indicatorul string dat în putenv(). În special, acest șir devine parte a mediului; modificarea ulterioară a acestuia va modifica mediul; (astfel, este o eroare să se apeleze putenv() cu o variabilă automată ca argument, apoi să se revină din funcția de apelare în timp ce string face încă parte din mediu). Cu toate acestea, de la glibc 2.0 la glibc 2.1.1, aceasta diferă: se utilizează o copie a șirului de caractere. Pe de o parte, acest lucru cauzează o pierdere de memorie, iar pe de altă parte încalcă SUSv2.

Versiunea 4.3BSD-Reno, ca și glibc 2.0, utilizează o copie; acest lucru este corectat în toate BSD-urile moderne.

SUSv2 elimină const din prototip, la fel și glibc 2.1.3.

Implementarea bibliotecii GNU C oferă o extensie nestandardizată. Dacă string nu include un semn egal:


putenv("NUME");

atunci variabila numită este eliminată din mediul apelantului.

clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

31 octombrie 2023 Pagini de manual de Linux 6.06