Lista variabilelor de mediu în Linux/Unix

⚡ Rezumat inteligent

Variabilele de mediu în Linux și Unix sunt valori dinamice denumite care modelează modul în care se comportă programele și shell-ul, stocând setări precum PATH, directorul home, editorul implicit, limba și shell-ul utilizat în prezent.

  • ???? Ce sunt ei: Variabilele de mediu conțin valori dinamice care afectează procesele și pot fi create, editate și șterse.
  • 🧭 CALE: Variabila PATH listează directoarele în care shell-ul caută pentru a găsi și rula comenzi executabile.
  • 🔎 Valori de citire: Comanda echo afișează o variabilă, în timp ce env și printenv listează toate variabilele de mediu.
  • 🆕 Crearea: Atribuiți o valoare cu NAME=value, apoi utilizați export pentru a o face disponibilă proceselor copil.
  • 🗑️ Ștergerea: Comanda unset elimină o variabilă și valoarea acesteia din sesiunea curentă de shell.
  • 💾 Persistenţă: Adăugați linii de export în ~/.bashrc sau /etc/environment pentru a păstra variabilele între sesiuni.
  • 🤖 Ajutor AI: Asistenții AI și GitHub Copilot pot audita variabile și genera scripturi shell care le utilizează.

Lista variabilelor de mediu comune în Linux și Unix

Variabilele de mediu sunt printre primele lucruri care merită înțelese în orice Linux sau sistemul Unix, deoarece acestea controlează în liniște modul în care se comportă programele și shell-ul. Acest ghid explică ce sunt acestea, care sunt cele mai comune și cum să le citiți, să le creați și să le ștergeți.

Ce este un mediu de calcul?

Mediul de calcul este platforma (platformă = sistem de operare + procesor) unde un utilizator poate rula programe.

Ce este o variabilă?

În informatică, o variabilă este o locație pentru stocarea unei valori, care poate fi un nume de fișier, text, număr sau orice alte date. De obicei, este denumită prin numele său simbolic, care îi este dat la creare. Valoarea stocată poate fi apoi afișată, ștearsă, editată și resalvată.

Variabilele joacă un rol important în programarea pe calculator, deoarece permit programatorilor să scrie programe flexibile. Deoarece sunt legate de sistemul de operare pe care lucrați, este important să cunoașteți câteva dintre ele și cum le puteți influența.

Ce sunt variabilele de mediu?

Variabilele de mediu sunt valori dinamice care afectează procesele sau programele de pe un computer. Acestea există în fiecare sistem de operare, dar tipurile pot varia. Variabilele de mediu pot fi create, editate, salvate și șterse și oferă informații despre comportamentul sistemului.

Variabilele de mediu pot schimba modul în care se comportă software-ul și programele. De exemplu, variabila de mediu $LANG stochează limba pe care o înțelege utilizatorul. Această valoare este citită de o aplicație, astfel încât unui utilizator chinez i se afișează o interfață în mandarină, în timp ce unui utilizator american i se afișează o interfață în engleză.

Să studiem câteva variabile de mediu comune:

Variabil Descriere
PATH Această variabilă conține o listă de directoare separate prin două puncte (:) în care sistemul caută fișiere executabile. Când introduceți o comandă în terminal, shell-ul caută comanda în directoarele listate în variabila $PATH. Dacă comanda este găsită, aceasta se execută. În caz contrar, returnează eroarea „comandă negăsită”.
USER Numele de utilizator
ACASĂ Calea implicită către directorul principal al utilizatorului
EDITOR Calea către programul care editează conținutul fișierelor
UID ID unic al utilizatorului
TERMEN Emulator implicit de terminal
COAJĂ Shell este folosit de utilizator

Accesarea valorilor variabilelor

Pentru a determina valoarea unei variabile, se folosește comanda echo:

echo $VARIABLE

De exemplu, captura de ecran de mai jos arată valoarea variabilei PATH afișată cu comanda echo.

Afișarea valorii variabilei PATH cu comanda echo

Orice variabilă de mediu poate fi citită în același mod. Rezultatul de mai jos arată un echo care returnează valoarea unei variabile.

Ieșirea comenzii echo care arată valoarea unei variabile de mediu

Variabilele sunt sensibile la majuscule/minuscule, așa că asigurați-vă că tastați numele variabilei cu majuscule/minuscule corecte; altfel, este posibil să nu obțineți rezultatul dorit. Pentru a lista toate variabilele de mediu simultan, utilizați comanda env, așa cum se arată mai jos.

Comanda env listează toate variabilele de mediu din terminal

Setați noi variabile de mediu

Puteți crea propria variabilă definită de utilizator cu această sintaxă:

VARIABLE_NAME=variable_value

Din nou, rețineți că numele variabilelor sunt sensibile la majuscule și sunt de obicei scrise cu majuscule. O variabilă creată în acest fel este o variabilă locală de shell pe care numai shell-ul curent o poate vedea. Pentru a o promova la o variabilă de mediu pe care o moștenesc și procesele copil, utilizați comanda export:

export VARIABLE_NAME=value

Captura de ecran de mai jos arată o nouă variabilă creată și apoi afișată cu echo.

Crearea și afișarea unei noi variabile de mediu definite de utilizator

Ștergerea variabilelor

Următoarea sintaxă elimină o variabilă din sistem:

unset variablename

Aceasta elimină variabila și valoarea acesteia din sesiunea shell curentă, așa cum se arată mai jos.

Eliminarea unei variabile de mediu cu comanda unset

Întrebări frecvente

O variabilă shell există doar în shell-ul curent și nu este transmisă altor programe. O variabilă de mediu este o variabilă shell care a fost exportată, deci procesele fiu pornite din acel shell o moștenesc. Folosește comanda export pentru a promova o variabilă.

Variabilele setate în terminal dispar când închideți sesiunea. Pentru a le păstra, adăugați linia de export într-un fișier de pornire: ~/.bashrc sau ~/.profile pentru un singur utilizator sau /etc/environment pentru fiecare utilizator din sistem. Reîncărcați fișierul sau redeschideți terminalul pentru a aplica codul.

Adăugați noul director la PATH-ul existent, astfel încât să nu îl suprascrieți: export PATH=$PATH:/directorul/nou/vău. Aceasta adaugă folderul la lista în care shell-ul caută comenzi. Puneți aceeași linie în ~/.bashrc pentru ca modificarea să supraviețuiască noilor sesiuni.

Comanda printenv listează doar variabilele de mediu și poate afișa una singură, cum ar fi printenv HOME. Comanda env listează și variabilele de mediu și poate rula un program cu un mediu modificat. Comanda set afișează totul, inclusiv variabilele și funcțiile shell, nu doar pe cele exportate.

De obicei, asta înseamnă că ai suprascris PATH în loc să adaugi la el, astfel încât shell-ul nu mai poate găsi comenzi standard. Include întotdeauna $PATH atunci când îl setezi. Pentru a recupera în sesiunea curentă, rulează export PATH=/usr/local/bin:/usr/bin:/bin, apoi corectează fișierul de pornire.

Este convenabil, dar riscant. Variabilele de mediu pot fi citite din /proc, sunt moștenite de procesele fiu și adesea se scurg în jurnale sau rapoarte de eroare. Pentru secrete sensibile, este de preferat un manager de secrete dedicat sau un fișier criptat cu permisiuni restricționate în locul unei variabile simple.

Asistenții inteligenți artificiali pot explica ce face o variabilă necunoscută, pot verifica fișierele de configurare pentru intrări lipsă sau duplicate și pot semnala secretele expuse accidental în variabile. Instrumentele de învățare automată pot, de asemenea, scana mediile de proces pe mai multe servere pentru a detecta configurații greșite care ar fi dificil de revizuit manual.

Da. Copilotul GitHub poate genera instrucțiuni de export, editări ~/.bashrc și scripturi shell care citesc variabile precum $HOME sau $PATH. Sugerează sintaxa pe măsură ce tastați, deși ar trebui să revizuiți orice cod care gestionează acreditările înainte de a-l rula.

Rezumați această postare cu: