Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

Shelli muutujad on olulised mis tahes Linuxi süsteemi sujuvaks tööks. Näiteks iga kord, kui käivitate programmi või käsu, otsib teie süsteem muutujat PATH, et kontrollida, kas programm on olemas. Shelli muutujate tundmine on Linuxi süsteemide igapäevaseks kasutamiseks või haldamiseks oluline.

Shelli muutujate tähtsus

Shelli muutuja on kohatäide teie Linuxi süsteemis, programmides või skriptides kasutatava teabe salvestamiseks.

Linuxis on erinevat tüüpi kestasid või käsureatõlkeid, mis kõik kasutavad muutujaid ulatuslikult. Mõned olulised rollid, mida kestamuutujad mängivad, on järgmised:

  • Shelli muutujad võimaldavad salvestada ja töödelda kestas olevaid väärtusi ning manipuleerida arvutuste või muude toimingute tulemustega.
  • Need pakuvad võimalust väärtuste edastamiseks skriptide ja programmide vahel
  • Shelli muutujaid saate kasutada programmide käitumise kohandamiseks
instagram viewer

Shelli muutujad on väga paindlikud; saate luua ka oma kohandatud muutujaid, kuid siin on mõned teie süsteemiga kaasas olevad vaikemuutujad.

1. PATH

Muutuja PATH määrab kataloogid, kust süsteem peaks otsima käivitatavaid faile, kui sisestate terminali käsu.

See on kogu süsteemi hõlmav keskkonnamuutuja ja sisaldab kooloniga eraldatud kataloogide loendit. Igast kataloogist otsitakse kordamööda käivitatavat faili, mille nimi on teie sisestatud käsuga sama nimi.

Näiteks kui sisestate ls käsk terminalis otsib süsteem nimega käsku läbi PATH muutujas määratud kataloogide ls. Kui see faili leiab, käivitab see selle; kui ei, kuvatakse tõrketeade "käsku ei leitud".

Muutuja PATH on oluline, kuna see võimaldab teil käivitada käske mis tahes kataloogist, ilma et peaksite määrama käivitatava faili täielikku teed. Näiteks kui teil on failis käivitatav fail "ls". /usr/bin kataloogis, saate käsu ls käivitada mis tahes kataloogist, lihtsalt tippides ls, selle asemel, et määrata kogu tee, st. /usr/bin/ls.

Muutuja PATH praegust väärtust saate vaadata, kui käivitate käsu echo järgmiselt:

kaja $PATH

Muutuja PATH väärtust saate muuta ka loendisse katalooge lisades või sealt eemaldades. See võib olla kasulik, kui soovite lisada kataloogi, mis sisaldab teie enda käivitatavaid faile või kohandatud skripte, või kui soovite muuta katalooge, mida käskude käivitamisel otsitakse.

2. KODU

Linuxis on muutuja HOME keskkonnamuutuja, mis määrab kasutaja kodukataloogi tee. Miks see nii oluline on? Noh, Linux on mitme kasutajaga OS ja kodukaust on teie süsteemis spetsiaalne kataloog, mis on seotud iga kasutajaga.

Kodukataloogi kasutatakse tavaliselt kasutaja isiklike failide, näiteks dokumentide, piltide, muusika jms salvestamiseks.

Muutuja HOME määratakse tavaliselt sisselogimisel automaatselt ning seda kasutavad paljud programmid ja skriptid kasutaja kodukataloogi leidmiseks. Näiteks kui käivitate käsu cd ilma argumentideta, kasutab see muutujat HOME, et navigeerida kasutaja kodukataloogi.

Paljud programmid kasutavad muutujat HOME konfiguratsioonifailide või muude andmete salvestamiseks kasutaja kodukataloogi. Muutuja HOME praegust väärtust saate vaadata, käivitades käsu kaja $HOME käsk.

3. KASUTAJA

Muutuja USER määrab hetkel sisse logitud kasutaja kasutajanime. See määratakse sisselogimisel automaatselt ning programmid ja skriptid kasutavad seda tavaliselt praeguse kasutaja kasutajanime määramiseks.

Muutujat USER kasutatakse sageli skriptides, et kohandada programmi käitumist praeguse kasutaja põhjal. Näiteks võib skript kontrollida muutuja USER väärtust ja teha teatud toiminguid ainult siis, kui praegusel kasutajal on juur- või sudoõigused.

Muutujat saate kasutada ka teatud üldiste käskude käitamiseks. Näiteks kasutaja lisamisel dokkimisgruppi saate tegeliku kasutajanime tippimise asemel lihtsalt käivitada järgmise käsu:

sudo usermod -aG dokk $USER

4. SHELL

Shell on programm, mis pakub operatsioonisüsteemiga suhtlemiseks käsurea liidest (CLI).

Enamik Linuxi süsteeme kasutab vaikimisi Bourne Again Shelli (Bash), kuid alternatiive on palju. C-kest (csh), Z-kest (Zsh), kala jne.

Muutuja SHELL määrab kasutaja vaikekesta tee. See seadistatakse sisselogimisel automaatselt.

Lisaks kasutatakse muutujat skriptides programmide käitumise kohandamiseks kasutaja vaikekesta alusel. Näiteks võib skript kontrollida muutuja SHELL väärtust ja kasutada erinevat süntaksit või suvandeid olenevalt kasutatavast shellist.

Saate vaadata muutuja SHELL praegust väärtust, käivitades käsu kaja $SHELL. Saate muuta vaikeshell, kasutades käsku chsh.

5. PWD

Veel üks oluline keskkonnamuutuja Linuxis, PWD salvestab teie praeguse töökataloogi. Erinevalt enamikust keskkonnamuutujatest, mis on enamasti staatilised, värskendab kest seda alati muutke katalooge, kasutades käsku cd.

Saate kasutada oma shelliskriptides muutujat PWD, et hõlpsasti viidata praegusele töökataloogile. Muutuja väärtus on sarnane sellele, mille saate käsu pwd käivitamisel.

6. HOSTNAME

Masinanimi või seadme nimi on kordumatu nimi, mida kasutatakse teie arvuti tuvastamiseks võrgus. Näiteks kui soovite SSH-d masinasse sisestada, võite IP-aadressi asemel kasutada lihtsalt hostinime.

Muutuja HOSTNAME on keskkonnamuutuja, mis lihtsalt määrab süsteemi hostinime. See määratakse automaatselt süsteemi algkäivitamisel ja seda kasutatakse tavaliselt süsteemi tuvastamiseks, kui see on võrku ühendatud. Teil on mitu võimalust saab Linuxis hostinime muuta.

Muutujat HOSTNAME kasutavad ka programmid ja skriptid süsteemi tuvastamiseks ja selle käitumise kohandamiseks hostinime alusel. Skript kontrollib tavaliselt muutuja HOSTNAME väärtust ja teeb teatud toiminguid ainult siis, kui süsteem on konkreetne host.

Kohandatud muutuja loomine Linuxis

Peale Linuxi vaikemuutujate, mis on teie jaoks automaatselt määratud. Ekspordikäsu abil saate määrata ka oma kestamuutujad. Uue muutuja GREETING loomiseks väärtusega "Hello World", võite kasutada järgmist käsku:

eksportida TERVITUS="Tere, Maailm"

Seejärel saate muutujat TERVITUS kasutada oma skriptides või käsureal nagu kõiki teisi keskkonnamuutujaid.