Keskkonnamuutujate loend Linuxis/Unixis

⚡ Nutikas kokkuvõte

Linuxi ja Unixi keskkonnamuutujad on dünaamilised nimega väärtused, mis kujundavad programmide ja shelli käitumist, salvestades selliseid sätteid nagu teie tee (PATH), kodukataloog, vaikeredaktor, keel ja hetkel kasutatav shell.

  • 🌱 Mis need on: Keskkonnamuutujad sisaldavad dünaamilisi väärtusi, mis mõjutavad protsesse ning mida saab luua, muuta ja kustutada.
  • 🧭 PATH: Muutuja PATH loetleb kataloogid, mida shell otsib käivitatavate käskude leidmiseks ja käivitamiseks.
  • 🔎 Väärtuste lugemine: Käsk echo kuvab ühe muutuja, samas kui käsk env ja printenv loetlevad kõik keskkonnamuutujad.
  • 🆕 Loomine: Määrake väärtus NAME=value abil ja seejärel kasutage eksporti, et see alamprotsessidele kättesaadavaks teha.
  • 🗑️ Kustutamine: Käsk unset eemaldab muutuja ja selle väärtuse praegusest shelli seansist.
  • 💾 Püsivus: Muutujate seanssidevaheliseks säilitamiseks lisa ekspordiread faili ~/.bashrc või /etc/environment.
  • 🤖 Tehisintellekti abi: Tehisintellekti assistendid ja GitHub Copilot saavad muutujaid auditeerida ja neid kasutavaid shelliskripte genereerida.

Linuxi ja Unixi levinud keskkonnamuutujate loend

Keskkonnamuutujad on ühed esimesed asjad, mida tasub igal teemal mõista. Linux või Unixi süsteemis, sest need kontrollivad vaikselt teie programmide ja shelli käitumist. See juhend selgitab, mis need on, millised on kõige levinumad ning kuidas neid lugeda, luua ja kustutada.

Mis on arvutikeskkond?

Arvutuskeskkond on platvorm (platvorm = operatsioonisüsteemi + protsessor), kus kasutaja saab programme käivitada.

Mis on muutuja?

Arvutiteaduses on muutuja koht väärtuse salvestamiseks, mis võib olla failinimi, tekst, number või mis tahes muud andmed. Tavaliselt viidatakse sellele sümboolse nimega, mis antakse sellele loomisel. Salvestatud väärtust saab seejärel kuvada, kustutada, redigeerida ja uuesti salvestada.

Muutujatel on arvutiprogrammeerimises oluline roll, kuna need võimaldavad programmeerijatel kirjutada paindlikke programme. Kuna need on seotud operatsioonisüsteemiga, millega töötate, on oluline teada mõnda neist ja seda, kuidas saate neid mõjutada.

Mis on keskkonnamuutujad?

Keskkonnamuutujad on dünaamilised väärtused, mis mõjutavad arvuti protsesse või programme. Need eksisteerivad igas operatsioonisüsteemis, kuid nende tüübid võivad erineda. Keskkonnamuutujaid saab luua, muuta, salvestada ja kustutada ning need annavad teavet süsteemi käitumise kohta.

Keskkonnamuutujad võivad muuta tarkvara ja programmide käitumist. Näiteks keskkonnamuutuja $LANG salvestab keele, millest kasutaja aru saab. Rakendus loeb selle väärtuse nii, et hiina kasutajale kuvatakse mandariinikeelne liides, samas kui ameerika kasutajale kuvatakse ingliskeelne liides.

Uurime mõningaid levinumaid keskkonnamuutujaid:

Muutuja Kirjeldus
PATH See muutuja sisaldab kooloniga (:) eraldatud kataloogide loendit, kust teie süsteem otsib käivitatavaid faile. Kui sisestate terminalis käsu, otsib kest seda käsku muutujas $PATH loetletud kataloogidest. Kui käsk leitakse, siis see käivitatakse. Vastasel juhul tagastatakse veateade „käsku ei leitud”.
USER Kasutajanimi
ESILEHT Vaiketee kasutaja kodukataloogi
TOIMETAJA Failide sisu muutva programmi tee
UID Kasutaja kordumatu ID
TERM Vaikimisi terminali emulaator
SHELL Kasutaja kasutab kesta

Juurdepääs muutuja väärtustele

Muutuja väärtuse määramiseks kasutage käsku echo:

echo $VARIABLE

Näiteks allolev ekraanipilt näitab PATH muutuja väärtust, mis kuvatakse käsuga echo.

PATH muutuja väärtuse kuvamine käsuga echo

Kõiki keskkonnamuutujaid saab lugeda samamoodi. Allolev väljund näitab, kuidas funktsioon echo tagastab muutuja väärtuse.

Keskkonnamuutuja väärtust näitava käsu echo väljund

Muutujad on tõstutundlikud, seega veenduge, et sisestaksite muutuja nime õiges tähesuuruses; vastasel juhul ei pruugi te soovitud tulemust saada. Kõigi keskkonnamuutujate korraga loetlemiseks kasutage käsku env, nagu allpool näidatud.

env käsk, mis loetleb kõik terminali keskkonnamuutujad

Määrake uued keskkonnamuutujad

Saate luua oma kasutaja määratletud muutuja selle süntaksi abil:

VARIABLE_NAME=variable_value

Jällegi pidage meeles, et muutujate nimed on tõstutundlikud ja kirjutatakse tavaliselt suurtähtedega. Sel viisil loodud muutuja on lokaalne shellimuutuja, mida näeb ainult praegune shell. Selle edastamiseks keskkonnamuutujaks, mille ka lapsprotsessid pärivad, kasutage käsku export:

export VARIABLE_NAME=value

Allolev ekraanipilt näitab uue muutuja loomist ja seejärel kaja kuvamist.

Uue kasutaja määratletud keskkonnamuutuja loomine ja kuvamine

Muutujate kustutamine

Järgmine süntaks eemaldab süsteemist muutuja:

unset variablename

See eemaldab muutuja ja selle väärtuse praegusest shelli seansist, nagu allpool näidatud.

Keskkonnamuutuja eemaldamine käsuga unset

KKK

Shelli muutuja eksisteerib ainult praeguses shellis ja seda ei edastata teistele programmidele. Keskkonnamuutuja on eksporditud shelli muutuja, seega pärivad sellest shellis käivitatud lapsprotsessid selle. Muutuja ülendamiseks kasutage käsku export.

Terminalis seatud muutujad kaovad seansi sulgemisel. Nende säilitamiseks lisage käivitusfaili eksportirida: ~/.bashrc või ~/.profile üksiku kasutaja jaoks või /etc/environment iga süsteemi kasutaja jaoks. Selle rakendamiseks laadige fail uuesti või avage terminal uuesti.

Lisa uus kataloog olemasolevale teele (PATH), et sa seda üle ei kirjutaks: export PATH=$PATH:/sinu/uus/kataloog. See lisab sinu kausta loendisse, millest shell otsib käske. Lisa sama rida kausta ~/.bashrc, et muudatus jääks kehtima ka uutes seanssides.

printenv loetleb ainult keskkonnamuutujaid ja saab kuvada ainult ühte neist, näiteks printenv HOME. Käsk env loetleb samuti keskkonnamuutujad ja saab programmi käivitada muudetud keskkonnas. Käsk set näitab kõike, sealhulgas sh shellimuutujaid ja funktsioone, mitte ainult eksporditud.

Tavaliselt tähendab see, et sa kirjutasid PATH-i üle, selle asemel et sellele lisada, seega ei leia shell enam standardseid käske. Selle määramisel lisa alati $PATH. Praeguses seansis taastamiseks käivita export PATH=/usr/local/bin:/usr/bin:/bin ja seejärel paranda oma käivitusfail.

See on mugav, aga riskantne. Keskkonnamuutujaid saab lugeda /proc kaustast, need päritakse alamprotsesside poolt ning need lekivad sageli logidesse või krahhiaruannetesse. Tundlike saladuste puhul eelista tavalise muutuja asemel spetsiaalset saladuste haldurit või piiratud õigustega krüptitud faili.

Tehisintellekti assistendid oskavad selgitada tundmatu muutuja funktsiooni, auditeerida konfiguratsioonifaile puuduvate või dubleeritud kirjete suhtes ning märgistada muutujates kogemata paljastatud saladusi. Masinõppe tööriistad saavad skannida ka paljude serverite protsessikeskkondi, et tuvastada valekonfiguratsioone, mida oleks tüütu käsitsi üle vaadata.

Jah. GitHubi koopia saab genereerida ekspordilauseid, ~/.bashrc muudatusi ja shelli skripte, mis loevad muutujaid nagu $HOME või $PATH. See pakub süntaksit tippimise ajal, kuigi enne käivitamist peaksite üle vaatama kogu koodi, mis käsitleb volitusi.

Võta see postitus kokku järgmiselt: