environ(7) Miscellaneous Information Manual environ(7) NUME environ - mediul utilizatorului SINOPSIS extern char **environ; DESCRIERE Variabila environ indica o matrice de indicatoare la iruri de caractere numita ,,mediu". Ultimul indicator din aceasta matrice are valoarea NULL. Aceasta matrice de iruri de caractere este pusa la dispoziia procesului de catre apelul execve(2) atunci cand este iniiat un nou program. Atunci cand un proces copil este creat prin fork(2), acesta motenete o copie a mediului parintelui sau. Prin convenie, irurile din environ au forma ,,nume=valoare". Numele este sensibil la majuscule i nu poate conine caracterul ,,=". Valoarea poate fi orice lucru care poate fi reprezentat ca ir de caractere. Numele i valoarea nu pot conine un octet nul incorporat (,,\0"), deoarece se presupune ca acesta incheie irul. Variabilele de mediu pot fi plasate in mediul shell-ului prin comanda export din sh(1) sau prin comanda setenv daca utilizai csh(1). Mediul iniial al shell-ului este populat in diverse moduri, cum ar fi definiiile din /etc/environment care sunt procesate de pam_env(8) pentru toi utilizatorii la momentul autentificarii (pe sistemele care utilizeaza pam(8)). In plus, diverse scripturi de iniializare a shell-ului, cum ar fi scriptul /etc/profile la nivel de sistem i scripturile de iniializare per utilizator, pot include comenzi care adauga variabile la mediul shell-ului; consultai pagina de manual a shell-ului preferat pentru detalii. Shell-urile de tip Bourne accepta sintaxa NUME=valoare comanda pentru a crea o definiie a unei variabile de mediu numai in cadrul procesului care executa comanda. Mai multe definiii de variabile, separate prin spaiu alb, pot preceda comanda. Argumentele pot fi, de asemenea, plasate in mediu in momentul in care se executa un exec(3). Un program C ii poate manipula mediul cu ajutorul funciilor getenv(3), putenv(3), setenv(3) i unsetenv(3). In cele ce urmeaza este prezentata o lista de variabile de mediu care apar de obicei intr-un sistem. Aceasta lista este incompleta i include doar variabilele obinuite intalnite de catre utilizatorii obinuii in rutina lor zilnica. Variabilele de mediu specifice unui anumit program sau unei anumite funcii de biblioteca sunt documentate in seciunea MEDIU din paginile de manual ale acestora. USER Numele utilizatorului conectat (utilizat de unele programe derivate din BSD). Se stabilete in momentul conectarii; a se vedea seciunea NOTE de mai jos. LOGNAME Numele utilizatorului conectat (utilizat de unele programe derivate din System-V). Se stabilete in momentul conectarii; a se vedea seciunea NOTE de mai jos. HOME Directorul de conectare al unui utilizator. Se stabilete in momentul conectarii; a se vedea seciunea NOTE de mai jos. LANG Numele unei regiuni care urmeaza sa fie utilizata pentru categoriile locale atunci cand nu este suprascrisa de LC_ALL sau de variabile de mediu mai specifice, cum ar fi LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC i LC_TIME (a se vedea locale(7) pentru mai multe detalii despre variabilele de mediu LC_*). PATH Secvena de prefixe de directoare pe care sh(1) i multe alte programe o utilizeaza atunci cand cauta un fiier executabil specificat ca nume de fiier simplu (adica un nume de ruta care nu conine bare oblice). Prefixele sunt separate prin doua puncte (:). Lista de prefixe este cautata de la inceput pana la sfarit, prin verificarea numelui de ruta format prin concatenarea unui prefix, a unei bare oblice i a numelui de fiier, pana cand se gasete un fiier cu permisiunea de execuie. Ca o caracteristica motenita, un prefix de lungime zero (specificat sub forma a doua puncte de dialog adiacente sau a doua puncte de dialog iniiale sau finale) este interpretat ca fiind directorul de lucru curent. Cu toate acestea, utilizarea acestei caracteristici este depreciata, iar POSIX menioneaza ca o aplicaie conforma trebuie sa utilizeze un nume de ruta explicit (de exemplu, .) pentru a specifica directorul de lucru curent. In mod analog cu PATH, exista CDPATH, utilizata de unele shell-uri pentru a gasi inta unei comenzi de modificare a directorului, MANPATH utilizata de man(1) pentru a gasi paginile de manual, i aa mai departe. PWD Ruta absoluta catre directorul de lucru curent; trebuie sa fie parial canonica (fara componente . sau ..). SHELL Numele de ruta absoluta al shell-ului de autentificare al utilizatorului. Se stabilete in momentul autentificarii, a se vedea seciunea NOTE de mai jos. TERM Tipul de terminal pentru care trebuie pregatita ieirea. PAGER Aplicaia preferata de utilizator pentru afiarea fiierelor text. Orice ir de caractere acceptabil ca operand de ir de comanda pentru comanda sh -c este valabil. Daca PAGER este null sau nu este definita, atunci aplicaiile care lanseaza un paginator vor trece implicit la un program precum less(1) sau more(1). EDITOR/VISUAL Aplicaia preferata de utilizator pentru editarea fiierelor text. Orice ir de caractere acceptabil ca operand ir-de-comanda pentru comanda sh -c este valabil. Reinei ca comportamentul multor programe i rutine de biblioteca este influenat de prezena sau valoarea anumitor variabile de mediu. Printre exemple se numara urmatoarele: o Variabilele LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES i aa mai departe influeneaza gestionarea configuraiei regionale; a se vedea catopen(3), gettext(3) i locale(7). o TMPDIR influeneaza prefixul rutei fiierelor create de tempnam(3) i de alte rutine, precum i directorul temporar utilizat de sort(1) i de alte programe. o LD_LIBRARY_PATH, LD_PRELOAD i alte variabile LD_* influeneaza comportamentul incarcatorului/editorului de legaturi dinamice. A se vedea, de asemenea, ld.so(8). o POSIXLY_CORRECT face ca anumite programe i rutine de biblioteca sa respecte prescripiile POSIX. o Comportamentul lui malloc(3) este influenat de variabilele MALLOC_*. o Variabila HOSTALIASES indica numele unui fiier care conine pseudonimele care urmeaza sa fie utilizate cu gethostbyname(3). o TZ i TZDIR ofera informaii despre fusul orar utilizate de tzset(3) i, prin intermediul acestuia, de funcii precum ctime(3), localtime(3), mktime(3), strftime(3). A se vedea, de asemenea, tzselect(8). o TERMCAP ofera informaii cu privire la modul de adresare a unui anumit terminal (sau ofera numele unui fiier care conine astfel de informaii). o COLUMNS i LINES informeaza aplicaiile cu privire la dimensiunea ferestrei, eventual inlocuind dimensiunea actuala. o PRINTER sau LPDEST poate specifica imprimanta ce se dorete a fi utilizata. A se vedea lpr(1). NOTE Din punct de vedere istoric i standard, environ trebuie sa fie declarat in programul utilizatorului. Cu toate acestea, ca o comoditate (nestandardizata) pentru programator, environ este declarat in fiierul antet daca este definita macrocomanda de testare a caracteristicilor _GNU_SOURCE (a se vedea feature_test_macros(7)). Operaiile prctl(2) PR_SET_MM_ENV_START i PR_SET_MM_ENV_END pot fi utilizate pentru a controla locaia mediului procesului. Variabilele HOME, LOGNAME, SHELL i USER sunt definite atunci cand utilizatorul este schimbat prin intermediul unei interfee de gestionare a sesiunilor, de obicei de catre un program precum login(1) dintr-o baza de date a utilizatorilor (precum passwd(5)). Trecerea la utilizatorul root folosind su(1) poate avea ca rezultat un mediu mixt in care LOGNAME i USER sunt pastrate de la vechiul utilizator; consultai pagina de manual su(1). ERORI In mod clar, exista un risc de securitate in acest caz. Multe comenzi de sistem au fost pacalite de un utilizator care a specificat valori neobinuite pentru IFS sau LD_LIBRARY_PATH. Exista, de asemenea, riscul de poluare a spaiului de nume. Programe precum make i autoconf permit inlocuirea numelor de utilitai implicite din mediu cu variabile cu nume similare, scrise cu majuscule. Astfel, se folosete CC pentru a selecta compilatorul C dorit (i in mod similar MAKE, AR, AS, FC, LD, LEX, RM, YACC etc.). Cu toate acestea, in unele utilizari tradiionale, o astfel de variabila de mediu ofera opiuni pentru program in loc de un nume de ruta. Astfel, avem MORE i LESS. O astfel de utilizare este considerata eronata i trebuie evitata in programele noi. CONSULTAI I bash(1), csh(1), env(1), login(1), printenv(1), sh(1), su(1), tcsh(1), execve(2), clearenv(3), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8), pam_env(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 8 februarie 2026 environ(7)