Kuidas kohalikke, kasutaja ja kogu süsteemi hõlmavaid keskkonnamuutujaid Linuxis seadistada ja tühistada


Keskkonnamuutujad on mõned spetsiaalsed muutujad, mis on defineeritud kestas ja mida programmid vajavad täitmise ajal. Need võivad olla süsteemi määratletud või kasutaja määratletud. Süsteemi määratletud muutujad on need, mille määrab süsteem ja kasutavad süsteemitaseme programmid.

Näiteks PWD käsk on väga levinud süsteemimuutuja, mida kasutatakse praeguse töökataloogi salvestamiseks. Kasutaja määratletud muutujad määrab kasutaja tavaliselt kas ajutiselt praeguse kesta jaoks või jäädavalt. Keskkonnamuutujate seadistamise ja tühistamise kontseptsioon pöörleb mõne failikomplekti ning väheste käskude ja erinevate kestade ümber.

Laiemas plaanis võib keskkonnamuutuja olla kolme tüüpi:

Praegune seansi jaoks määratletud. Need keskkonnamuutujad kestavad ainult kuni praeguse seansini, olgu see siis kaugsisselogimise seanss või kohaliku terminali seanss. Neid muutujaid pole üheski konfiguratsioonifailis täpsustatud ning need luuakse ja eemaldatakse spetsiaalsete käskude abil.

Need on muutujad, mis on määratletud konkreetse kasutaja jaoks ja laaditakse iga kord, kui kasutaja logib sisse kohaliku terminaliseansi abil või kui kasutaja on sisse logitud kaugsisselogimise kaudu. Need muutujad on tavaliselt seadistatud ja laaditud järgmistest konfiguratsioonifailidest: .bashrc , .bash_profile , .bash_login , .profile failid, mis asuvad kasutaja kodukataloogis.

Need on keskkonnamuutujad, mis on kättesaadavad kogu süsteemis, st kõigile selles süsteemis viibivatele kasutajatele. Need muutujad esinevad kogu süsteemi hõlmavates konfiguratsioonifailides, mis asuvad järgmistes kataloogides ja failides: /etc/environment , /etc/profile , /etc/profile.d/, /etc/bash.bashrc . Need muutujad laaditakse iga kord, kui mõni kasutaja on süsteemi sisse lülitanud ja sisse loginud kas lokaalselt või eemalt.

Kasutaja- ja kogu süsteemi hõlmavate konfiguratsioonifailide mõistmine

Siinkohal kirjeldame lühidalt erinevaid ülal loetletud konfiguratsioonifaile, mis sisaldavad keskkonnamuutujaid, kas kogu süsteemi ulatuses või konkreetselt kasutaja jaoks.

See fail on kasutaja spetsiifiline fail, mis laaditakse iga kord, kui kasutaja loob uue kohaliku seansi, st lihtsate sõnadega avab uue terminali. Kõik selles failis loodud keskkonnamuutujad jõustuvad iga kord, kui alustatakse uut kohalikku seanssi.

See fail on kasutaja spetsiifiline kaugsisselogimisfail. Selles failis loetletud keskkonnamuutujaid kutsutakse sisse iga kord, kui kasutaja on sisse logitud eemalt, st kasutades ssh-seanssi. Kui seda faili pole, otsib süsteem kas faile .bash_login või .profile .

See fail on kogu süsteemi hõlmav fail keskkonnamuutujate loomiseks, muutmiseks või eemaldamiseks. Selles failis loodud keskkonnamuutujatele on juurdepääs kogu süsteemile, kõigile kasutajatele nii lokaalselt kui ka kaugjuurdepääsu kaudu.

Süsteemi lai fail bashrc . See fail laaditakse üks kord iga kasutaja jaoks, iga kord, kui kasutaja avab kohaliku terminaliseansi. Selles failis loodud keskkonnamuutujad on juurdepääsetavad kõigile kasutajatele, kuid ainult kohaliku terminaliseansi kaudu. Kui kaugel sisselogimisseansi kaudu on selle masina mis tahes kasutajale juurdepääs, ei ole need muutujad nähtavad.

Kogu süsteemi hõlmav profiilifail. Kõigile selles failis loodud muutujatele on juurdepääs kõigile süsteemi kasutajatele, kuid ainult siis, kui selle kasutaja seanssi kutsutakse kaugjuhtimise teel, st kaugsisselogimise kaudu. Selle faili mis tahes muutujale pole juurdepääs kohaliku sisselogimisseansi jaoks, st kui kasutaja avab oma kohalikus süsteemis uue terminali.

Märkus. Üle kogu süsteemi või kogu kasutaja konfiguratsioonifailide abil loodud keskkonnamuutujaid saab eemaldada, eemaldades need ainult nendest failidest. Lihtsalt pärast nende failide iga muutmist logige välja ja logige uuesti sisse või tippige muudatuste jõustumiseks lihtsalt terminali järgmine käsk:

$ source <file-name>

Kohalike või kogu seanssi hõlmavate keskkonnamuutujate määramine või tühistamine Linuxis

Kohaliku keskkonna muutujaid saab luua järgmiste käskude abil:

$ var=value 
OR
$ export var=value

Need muutujad on kogu seansi ulatuses ja kehtivad ainult praeguse terminaliseansi jaoks. Nende kogu seansi väliste muutujate kustutamiseks võib kasutada järgmisi käske:

Vaikimisi loetleb käsk \"env \" kõik praegused keskkonnamuutujad. Kuid kui seda kasutatakse lülitiga -i , kustutab see ajutiselt kõik keskkonnamuutujad ja võimaldab kasutajal käsku käimasolevas seansis täita kõigi keskkonnamuutujate puudumisel.

$ env –i [Var=Value]… command args…

Siin vastab var = value mis tahes kohalikule keskkonnamuutujale, mida soovite kasutada ainult selle käsuga.

$ env –i bash

Annab bashi kesta, millel ajutiselt poleks ühtegi keskkonnamuutujat. Kuid kestast väljumisel taastatakse kõik muutujad.

Teine võimalus kohaliku keskkonnamuutuja kustutamiseks on käsu unset kasutamine. Kohaliku kohaliku keskkonnamuutuja ajutiseks seadistamiseks

$ unset <var-name>

Kus, var-name on kohaliku muutuja nimi, mille soovite tühistada või kustutada.

Teine vähem levinud viis oleks seada muutuja nimi, mille soovite kustutada, väärtuseks (Tühi). See kustutaks aktiivse seansi kohaliku muutuja väärtuse.

MÄRKUS - TEIE VÕIB MÄNGIDA SÜSTEEMI VÕI KASUTAJA KESKKONNAMUUTUJATEGA VÄÄRTUSTEGA JA MUUTA, KUID MUUDATUSED PÖÖRDUVAD AINULT JOOKSEVASES TERMINALISESSESSIOONIS JA EI PÜSIVAD.

Siit saate teada, kuidas Linuxis keskkonnas muutujaid, kasutajate ja süsteemi ulatuses luua

Jaotises õpime allpool toodud näidete abil kohalike, kasutaja ja kogu süsteemi hõlmavate keskkonnamuutujate seadistamist või tühistamist Linuxis.

a.) Siin loome kohaliku muutuja VAR1 ja määrame sellele mis tahes väärtuse. Seejärel kasutame kohaliku muutuja eemaldamiseks unset ja lõpuks see muutuja eemaldatakse.

$ VAR1='TecMint is best Site for Linux Articles'
$ echo $VAR1
$ unset VAR1
$ echo $VAR1

b.) Teine võimalus kohaliku muutuja loomiseks on käsu export kasutamine. Loodud kohalik muutuja on praeguse seansi jaoks saadaval. Muutuja tühistamiseks määrake muutuja väärtuseks lihtsalt .

$ export VAR='TecMint is best Site for Linux Articles'
$ echo $VAR
$ VAR=
$ echo $VAR

c.) Siin lõime kohaliku muutuja VAR2 ja määrasime selle väärtuseks. Seejärel käsku käivitamiseks, kustutades ajutiselt kõik kohalikud ja muud keskkonnamuutujad, täitsime käsu env –i . See käsk käivitas siin bashi kesta, puhastades kõik muud keskkonnamuutujad. Pärast exit sisestamist kutsutud bashi kestale taastatakse kõik muutujad.

$ VAR2='TecMint is best Site for Linux Articles'
$ echo $VAR2
$ env -i bash
$ echo $VAR2   

a.) Muutke oma kodukataloogi faili .bashrc , et eksportida või määrata lisatav keskkonnamuutuja. Pärast seda faili allikat muudatuste jõustumiseks. Siis näete muutuja (minu puhul CD ) jõustumist. See muutuja on saadaval iga kord, kui avate selle kasutaja jaoks uue terminali, kuid mitte kaugsisselogimisseansside jaoks.

$ vi .bashrc

Lisage järgmine rida allosas olevasse faili .bashrc .

export CD='This is TecMint Home'

Nüüd käivitage järgmine käsk uute muudatuste tegemiseks ja testimiseks.

$ source .bashrc 
$ echo $CD

Selle muutuja eemaldamiseks eemaldage failist .bashrc järgmine rida ja hankige see uuesti:

b.) Muutuja lisamiseks, mis on saadaval kaugsisselogimisseansside jaoks (st kui kaugsüsteemist kasutajale ssh), muutke faili .bash_profile .

$ vi .bash_profile

Lisage järgmine rida allosas olevasse faili .bash_profile .

export VAR2='This is TecMint Home'

Selle faili hankimisel on muutuja saadaval, kui sellele kasutajale ssh lisate, kuid mitte uue kohaliku terminali avamisel.

$ source .bash_profile 
$ echo $VAR2

Siin ei ole VAR2 algselt saadaval, kuid kui teha localhostis kasutajale ssh, muutub muutuja kättesaadavaks.

$ ssh [email 
$ echo $VAR2

Selle muutuja eemaldamiseks eemaldage lihtsalt lisatud faili .bash_profile rida ja hankige fail uuesti.

MÄRKUS. Need muutujad on saadaval iga kord, kui olete praegusele kasutajale sisse logitud, kuid mitte teistele kasutajatele.

a.) Süsteemi sisselogimata muutuja lisamiseks (st selline, mis on kõigile kasutajatele saadaval siis, kui mõni neist avab uue terminali, kuid mitte siis, kui kellelegi masina kasutajale on kaugjuurdepääs) lisage muutuja kausta /etc/bash. bashrc fail.

export VAR='This is system-wide variable'

Pärast seda hankige fail allikast.

$ source /etc/bash.bashrc 

Nüüd on see muutuja iga kasutaja jaoks saadaval, kui ta uue terminali avab.

$ echo $VAR
$ sudo su
$ echo $VAR
$ su -
$ echo $VAR

Siin on sama muutuja saadaval nii juurkasutajal kui ka tavakasutajal. Seda saate kontrollida, logides sisse teise kasutaja.

b.) Kui soovite, et mõni keskkonnamuutuja oleks saadaval, kui keegi teie arvutis olevast kasutajast on kauglogitud, kuid mitte kohaliku masina uue terminali avamisel, peate faili redigeerima - profiil .

export VAR1='This is system-wide variable for only remote sessions'

Pärast muutuja lisamist hankige fail lihtsalt uuesti. Siis oleks muutuja saadaval.

$ source /etc/profile
$ echo $VAR1

Selle muutuja eemaldamiseks eemaldage rida failist /etc/profile ja hankige see uuesti.

c.) Kui soovite siiski lisada keskkonna, mis on kogu süsteemi jaoks saadaval, nii kaugsisselogimise kui ka kohalike seansside jaoks (st uue terminaliakna avamine) kõigile kasutajatele, eksportige muutuja lihtsalt/etc/keskkonnafail.

export VAR12='I am available everywhere'

Pärast seda lihtsalt faili allikas ja muudatused jõustuvad.

$ source /etc/environment
$ echo $VAR12
$ sudo su
$ echo $VAR12
$ exit
$ ssh localhost
$ echo $VAR12

Nagu näeme, on keskkonnamuutuja saadaval nii tavakasutajale, juurkasutajale kui ka kaugsisselogimisseansile (siin, kohalikule hostile).

Selle muutuja kustutamiseks eemaldage lihtsalt kirje failist/etc/environment ja hankige see uuesti või logige uuesti sisse.

MÄRKUS. Muudatused jõustuvad faili hankimisel. Aga kui ei, siis peate võib-olla välja logima ja uuesti sisse logima.

Järeldus

Seega on need vähesed võimalused keskkonnamuutujate muutmiseks. Kui leiate mõnda uut ja huvitavat nippi, mainige seda oma kommentaarides.