Provided by: manpages-ro_4.27.0-1_all bug

NUME

       environ - mediul utilizatorului

SINOPSIS

       extern char **environ;

DESCRIERE

       Variabila  environ  indică  o  matrice  de  indicatoare  la  șiruri  de caractere numită „mediu”. Ultimul
       indicator din această matrice are valoarea NULL. Această matrice de șiruri  de  caractere  este  pusă  la
       dispoziția  procesului  de către apelul execve(2) atunci când este inițiat un nou program. Atunci când un
       proces copil este creat prin fork(2), acesta moștenește o copie a mediului părintelui său.

       Prin convenție, șirurile din environ au forma „nume=valoare”. Numele este sensibil  la  majuscule  și  nu
       poate  conține  caracterul  „=”.  Valoarea  poate  fi  orice  lucru  care  poate fi reprezentat ca șir de
       caractere. Numele și valoarea nu pot conține un octet nul încorporat („\0”),  deoarece  se  presupune  că
       acesta încheie șirul.

       Variabilele  de  mediu pot fi plasate în mediul shell-ului prin comanda export din sh(1) sau prin comanda
       setenv dacă utilizați csh(1).

       Mediul inițial al shell-ului este populat în diverse moduri, cum ar fi definițiile  din  /etc/environment
       care  sunt procesate de pam_env(8) pentru toți utilizatorii la momentul autentificării (pe sistemele care
       utilizează pam(8)). În plus,  diverse  scripturi  de  inițializare  a  shell-ului,  cum  ar  fi  scriptul
       /etc/profile  la  nivel  de  sistem  și  scriptul  de inițializare pentru fiecare utilizator, pot include
       comenzi care adaugă variabile în mediul shell-ului; consultați pagina de  manual  a  shell-ului  preferat
       pentru detalii.

       Shell-urile de tip Bourne acceptă sintaxa

           NUME=valoare comanda

       pentru  a crea o definiție a unei variabile de mediu numai în cadrul procesului care execută comanda. Mai
       multe definiții de variabile, separate prin spațiu alb, pot preceda comanda.

       Argumentele pot fi, de asemenea, plasate în mediu în momentul în care se execută un exec(3). Un program C
       își poate manipula mediul cu ajutorul funcțiilor getenv(3), putenv(3), setenv(3) și unsetenv(3).

       În cele ce urmează este prezentată o listă de variabile de mediu care  apar  de  obicei  într-un  sistem.
       Această  listă  este  incompletă  și  include  doar variabilele obișnuite întâlnite de către utilizatorii
       obișnuiți în rutina lor zilnică. Variabilele de mediu specifice unui  anumit  program  sau  unei  anumite
       funcții de bibliotecă sunt documentate în secțiunea MEDIU din paginile de manual ale acestora.

       USER   Numele  utilizatorului  conectat  (utilizat  de unele programe derivate din BSD). Se stabilește în
              momentul conectării, a se vedea secțiunea NOTE de mai jos.

       LOGNAME
              Numele utilizatorului conectat (utilizat de unele programe derivate din System-V).  Se  stabilește
              în momentul conectării, a se vedea secțiunea NOTE de mai jos.

       HOME   Directorul  de  conectare  al  unui  utilizator.  Se stabilește în momentul conectării, a se vedea
              secțiunea NOTE de mai jos.

       LANG   Numele unei regiuni care urmează să fie utilizată pentru categoriile locale atunci  când  nu  este
              suprascrisă  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   Secvența  de  prefixe  de directoare pe care sh(1) și multe alte programe o utilizează atunci când
              caută un fișier executabil specificat ca nume de fișier simplu (adică un  nume  de  rută  care  nu
              conține  bare oblice). Prefixele sunt separate prin două puncte (:). Lista de prefixe este căutată
              de la început până la sfârșit, prin verificarea numelui de  rută  format  prin  concatenarea  unui
              prefix,  a  unei bare oblice și a numelui de fișier, până când se găsește un fișier cu permisiunea
              de execuție.

              Ca o caracteristică moștenită, un prefix de lungime zero (specificat sub forma a  două  puncte  de
              dialog  adiacente  sau  a  două  puncte  de  dialog inițiale sau finale) este interpretat ca fiind
              directorul de lucru curent. Cu toate acestea, utilizarea acestei caracteristici  este  depreciată,
              iar  POSIX  menționează  că o aplicație conformă trebuie să utilizeze un nume de rută explicit (de
              exemplu, .) pentru a specifica directorul de lucru curent.

              În mod analog cu PATH, există CDPATH utilizată de unele shell-uri pentru a găsi ținta unei comenzi
              de modificare a directorului, MANPATH utilizată de man(1) pentru a găsi paginile de manual, și așa
              mai departe.

       PWD    Ruta absolută către directorul de lucru curent; trebuie să fie parțial canonică (fără componente .
              sau ..).

       SHELL  Numele de rută absolută al  shell-ului  de  autentificare  al  utilizatorului.  Se  stabilește  în
              momentul autentificării, a se vedea secțiunea NOTE de mai jos.

       TERM   Tipul de terminal pentru care trebuie pregătită ieșirea.

       PAGER  Aplicația  preferată  de  utilizator  pentru  afișarea  fișierelor  text.  Orice  șir de caractere
              acceptabil ca operand de șir de comandă pentru comanda sh -c este valabil. Dacă  PAGER  este  null
              sau  nu  este  definită,  atunci  aplicațiile  care lansează un paginator vor trece implicit la un
              program precum less(1) sau more(1).

       EDITOR/VISUAL
              Aplicația preferată de  utilizator  pentru  editarea  fișierelor  text.  Orice  șir  de  caractere
              acceptabil ca operand șir-de-comandă pentru comanda sh -c este valabil.

       Rețineți  că  comportamentul  multor  programe  și  rutine  de bibliotecă este influențat de prezența sau
       valoarea anumitor variabile de mediu. Printre exemple se numără următoarele:

       •  Variabilele LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES  și  așa  mai  departe  influențează
          gestionarea configurației regionale; a se vedea catopen(3), gettext(3) și locale(7).

       •  TMPDIR  influențează  prefixul  rutei  fișierelor  create  de  tempnam(3) și de alte rutine, precum și
          directorul temporar utilizat de sort(1) și de alte programe.

       •  LD_LIBRARY_PATH,    LD_PRELOAD    și    alte    variabile     LD_*     influențează     comportamentul
          încărcătorului/editorului de legături dinamice.  A se vedea, de asemenea, ld.so(8).

       •  POSIXLY_CORRECT face ca anumite programe și rutine de bibliotecă să respecte prescripțiile POSIX.

       •  Comportamentul lui malloc(3) este influențat de variabilele MALLOC_*.

       •  Variabila  HOSTALIASES  indică  numele  unui  fișier  care  conține  pseudonimele  care urmează să fie
          utilizate cu gethostbyname(3).

       •  TZ și TZDIR oferă informații despre fusul orar utilizate de tzset(3) și, prin intermediul acestuia, de
          funcții precum ctime(3), localtime(3), mktime(3), strftime(3). A se vedea, de asemenea, tzselect(8).

       •  TERMCAP oferă informații cu privire la modul de adresare a unui anumit terminal (sau oferă numele unui
          fișier care conține astfel de informații).

       •  COLUMNS și LINES informează aplicațiile  cu  privire  la  dimensiunea  ferestrei,  eventual  înlocuind
          dimensiunea actuală.

       •  PRINTER sau LPDEST poate specifica imprimanta ce se dorește a fi utilizată.  A se vedea lpr(1).

NOTE

       Din  punct de vedere istoric și standard, environ trebuie să fie declarat în programul utilizatorului. Cu
       toate acestea, ca o comoditate (nestandardizată) pentru programator, environ este  declarat  în  fișierul
       antet  <unistd.h>  dacă este definită macrocomanda de testare a caracteristicilor _GNU_SOURCE (a se vedea
       feature_test_macros(7)).

       Operațiile prctl(2) PR_SET_MM_ENV_START și PR_SET_MM_ENV_END pot fi utilizate pentru a  controla  locația
       mediului procesului.

       Variabilele  HOME,  LOGNAME,  SHELL  și  USER  sunt  definite atunci când utilizatorul este schimbat prin
       intermediul unei interfețe de gestionare a sesiunilor, de obicei de  către  un  program  precum  login(1)
       dintr-o  bază  de  date a utilizatorilor (precum passwd(5)). Trecerea la utilizatorul root folosind su(1)
       poate avea ca rezultat un mediu mixt în care LOGNAME și USER sunt  păstrate  de  la  vechiul  utilizator;
       consultați pagina de manual su(1).

ERORI

       În  mod  clar,  există un risc de securitate în acest caz. Multe comenzi de sistem au fost păcălite de un
       utilizator care a specificat valori neobișnuite pentru IFS sau LD_LIBRARY_PATH.

       Există, de asemenea, riscul de poluare a spațiului de nume.  Programe  precum  make  și  autoconf  permit
       înlocuirea  numelor  de utilități implicite din mediu cu variabile cu nume similare, scrise cu majuscule.
       Astfel, se folosește CC pentru a selecta compilatorul C dorit (și în mod similar MAKE, AR,  AS,  FC,  LD,
       LEX,  RM,  YACC etc.).  Cu toate acestea, în unele utilizări tradiționale, o astfel de variabilă de mediu
       oferă opțiuni pentru program în loc de un nume de rută. Astfel, avem MORE și LESS.  O astfel de utilizare
       este considerată eronată și trebuie evitată în programele noi.

CONSULTAȚI Ș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    î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.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                       environ(7)