setenv(3) Library Functions Manual setenv(3)

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

Biblioteca C standard (libc, -lc)

#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

setenv(), unsetenv():

    _POSIX_C_SOURCE >= 200112L
        || /* glibc <= 2.19: */ _BSD_SOURCE

Funcția setenv() adaugă variabila name în mediu cu valoarea value, în cazul în care name nu există deja. Dacă name există în mediu, atunci valoarea sa este schimbată cu value dacă overwrite este diferită de zero; dacă overwrite este zero, atunci valoarea lui name nu este schimbată (iar setenv() returnează o stare de succes). Această funcție face copii ale șirurilor de caractere indicate de name și value (spre deosebire de putenv(3)).

Funcția unsetenv() șterge variabila name din mediu. Dacă name nu există în mediu, atunci funcția reușește, iar mediul rămâne neschimbat.

Funcțiile setenv() și unsetenv() returnează zero în caz de succes sau -1 în caz de eroare, cu errno configurată pentru a indica eroarea.

ERORI-IEȘIRE

name este NULL, indică un șir de lungime 0 sau conține un caracter '='.
Memorie insuficientă pentru a adăuga o nouă variabilă în mediu.

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

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

POSIX.1-2008.

POSIX.1-2001, 4.3BSD.

Înainte de glibc 2.2.2.2, unsetenv() a fost prototipat ca returnând void; versiunile mai recente ale glibc urmează prototipul conform POSIX.1 prezentat în REZUMAT.

POSIX.1 nu impune ca setenv() sau unsetenv() să fie reentrantă.

POSIX.1 specifică faptul că, dacă name conține un caracter '=', atunci setenv() trebuie să eșueze cu eroarea EINVAL; cu toate acestea, versiunile de glibc anterioare glibc 2.3.4 permiteau un semn '=' în name.

clearenv(3), getenv(3), putenv(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