Popis varijabli okruženja u Linuxu/Unixu

⚡ Pametni sažetak

Varijable okruženja u Linuxu i Unixu su dinamičke imenovane vrijednosti koje oblikuju ponašanje programa i ljuske, pohranjujući postavke kao što su vaš PATH, početni direktorij, zadani uređivač, jezik i ljuska koja se trenutno koristi.

  • ???? Ono što jesu: Varijable okruženja sadrže dinamičke vrijednosti koje utječu na procese i mogu se stvarati, uređivati ​​i brisati.
  • 🧭 STAZA: Varijabla PATH navodi direktorije koje ljuska pretražuje kako bi pronašla i pokrenula izvršne naredbe.
  • 🔎 Očitane vrijednosti: Naredba echo prikazuje jednu varijablu, dok env i printenv popisuju sve varijable okruženja.
  • 🆕 Izrada: Dodijelite vrijednost s NAME=value, a zatim upotrijebite export kako biste je učinili dostupnom podređenim procesima.
  • 🗑️ Brisanje: Naredba unset uklanja varijablu i njezinu vrijednost iz trenutne sesije ljuske.
  • 💾 Upornost: Dodajte izvozne linije u ~/.bashrc ili /etc/environment kako biste zadržali varijable u svim sesijama.
  • 🤖 Pomoć umjetne inteligencije: AI asistenti i GitHub Copilot mogu revidirati varijable i generirati shell skripte koje ih koriste.

Popis uobičajenih varijabli okruženja u Linuxu i Unixu

Varijable okruženja su jedna od prvih stvari koje vrijedi razumjeti u bilo kojem Linux ili Unix sustav, jer oni tiho kontroliraju ponašanje vaših programa i ljuske. Ovaj vodič objašnjava što su oni, koji su najčešći i kako ih čitati, stvarati i brisati.

Što je računalno okruženje?

Računalno okruženje je platforma (platforma = operativni sustav + procesor) gdje korisnik može pokretati programe.

Što je varijabla?

U informatici, varijabla je mjesto za pohranjivanje vrijednosti, koja može biti naziv datoteke, tekst, broj ili bilo koji drugi podatak. Obično se na nju poziva simboličkim imenom koje joj se daje prilikom stvaranja. Pohranjena vrijednost zatim se može prikazati, izbrisati, urediti i ponovno spremiti.

Varijable igraju važnu ulogu u računalnom programiranju jer omogućuju programerima pisanje fleksibilnih programa. Budući da su vezane za operativni sustav na kojem radite, važno je poznavati neke od njih i kako na njih možete utjecati.

Što su varijable okruženja?

Varijable okruženja su dinamičke vrijednosti koje utječu na procese ili programe na računalu. Postoje u svakom operativnom sustavu, ali njihove vrste mogu varirati. Varijable okruženja mogu se stvarati, uređivati, spremati i brisati, a one daju informacije o ponašanju sustava.

Varijable okruženja mogu promijeniti način na koji se softver i programi ponašaju. Na primjer, varijabla okruženja $LANG pohranjuje jezik koji korisnik razumije. Aplikacija čita ovu vrijednost tako da se kineskom korisniku prikazuje mandarinski jezik, dok se američkom korisniku prikazuje engleski jezik.

Proučimo neke uobičajene varijable okruženja:

Varijabla Description
PUT Ova varijabla sadrži popis direktorija odvojen dvotočkom (:) u kojima vaš sustav traži izvršne datoteke. Kada unesete naredbu u terminal, ljuska traži naredbu u direktorijima navedenim u varijabli $PATH. Ako se naredba pronađe, ona se izvršava. U suprotnom, vraća grešku 'naredba nije pronađena'.
USER Korisničko ime
POČETNA Zadana staza do korisničkog matičnog direktorija
UREDNIK Put do programa koji uređuje sadržaj datoteka
UID Jedinstveni ID korisnika
POJAM Zadani emulator terminala
SHELL Ljuska koju koristi korisnik

Pristup varijabilnim vrijednostima

Za određivanje vrijednosti varijable koristi se naredba echo:

echo $VARIABLE

Na primjer, snimka zaslona u nastavku prikazuje vrijednost varijable PATH prikazanu naredbom echo.

Prikaz vrijednosti varijable PATH pomoću naredbe echo

Bilo koja varijabla okruženja može se pročitati na isti način. Izlaz u nastavku prikazuje echo koji vraća vrijednost varijable.

Izlaz naredbe echo koji prikazuje vrijednost varijable okruženja

Varijable razlikuju velika i mala slova, stoga pazite da naziv varijable upišete s ispravnim velikim i malim slovom; inače možda nećete dobiti željeni rezultat. Za popis svih varijabli okruženja odjednom upotrijebite naredbu env, kao što je prikazano u nastavku.

Naredba env koja navodi sve varijable okruženja u terminalu

Postavite nove varijable okruženja

Možete stvoriti vlastitu korisnički definiranu varijablu pomoću ove sintakse:

VARIABLE_NAME=variable_value

Ponovno, imajte na umu da su imena varijabli osjetljiva na velika i mala slova i obično se pišu velikim slovima. Varijabla stvorena na ovaj način je lokalna varijabla ljuske koju može vidjeti samo trenutna ljuska. Da biste je unaprijedili u varijablu okruženja koju nasljeđuju i podređeni procesi, upotrijebite naredbu export:

export VARIABLE_NAME=value

Snimka zaslona u nastavku prikazuje stvaranje nove varijable, a zatim njezin prikaz pomoću naredbe echo.

Stvaranje i prikaz nove korisnički definirane varijable okruženja

Brisanje varijabli

Sljedeća sintaksa uklanja varijablu iz sustava:

unset variablename

Ovo uklanja varijablu i njezinu vrijednost iz trenutne sesije ljuske, kao što je prikazano dolje.

Uklanjanje varijable okruženja naredbom unset

Pitanja i odgovori

Varijabla ljuske postoji samo u trenutnoj ljusci i ne prenosi se drugim programima. Varijabla okruženja je varijabla ljuske koja je izvezena, pa je nasljeđuju podprocesi pokrenuti iz te ljuske. Upotrijebite naredbu export za promociju varijable.

Varijable postavljene u terminalu nestaju kada zatvorite sesiju. Da biste ih zadržali, dodajte redak za izvoz u početnu datoteku: ~/.bashrc ili ~/.profile za jednog korisnika ili /etc/environment za svakog korisnika na sustavu. Ponovno učitajte datoteku ili ponovno otvorite terminal da biste je primijenili.

Dodajte novi direktorij postojećem PATH-u kako ga ne biste prepisali: export PATH=$PATH:/vaš/novi/direktorij. Ovo dodaje vašu mapu na popis koji shell traži za naredbe. Stavite isti redak u ~/.bashrc kako bi promjena preživjela nove sesije.

Naredba printenv navodi samo varijable okruženja i može prikazati samo jednu, kao što je printenv HOME. Naredba env također navodi varijable okruženja i može pokrenuti program s modificiranim okruženjem. Naredba set prikazuje sve, uključujući varijable i funkcije ljuske, ne samo izvezene.

To obično znači da ste prepisali PATH umjesto da ste mu dodali nešto, tako da ljuska više ne može pronaći standardne naredbe. Uvijek uključite $PATH prilikom postavljanja. Za oporavak u trenutnoj sesiji pokrenite export PATH=/usr/local/bin:/usr/bin:/bin, a zatim popravite datoteku za pokretanje.

Praktično je, ali rizično. Varijable okruženja mogu se čitati iz /proc, nasljeđuju ih podređeni procesi i često procuruju u zapisnike ili izvješća o rušenju sustava. Za osjetljive tajne, radije koristite namjenski upravitelj tajni ili šifriranu datoteku s ograničenim dozvolama nego običnu varijablu.

AI asistenti mogu objasniti što radi nepoznata varijabla, provjeriti konfiguracijske datoteke za nedostajuće ili duplicirane unose i označiti tajne slučajno otkrivene u varijablama. Alati za strojno učenje također mogu skenirati procesna okruženja na mnogim poslužiteljima kako bi otkrili pogrešne konfiguracije koje bi bilo zamorno pregledavati ručno.

Da. GitHub kopilot može generirati izvozne naredbe, ~/.bashrc izmjene i shell skripte koje čitaju varijable poput $HOME ili $PATH. Predlaže sintaksu dok tipkate, iako biste trebali pregledati sav kod koji obrađuje vjerodajnice prije nego što ga pokrenete.

Sažmite ovu objavu uz: