Kako nastaviti in izključiti lokalne, uporabniške in sistemske spremenljivke okolja v Linuxu


Spremenljivke okolja so nekatere posebne spremenljivke, ki so opredeljene v lupini in jih programi potrebujejo med izvajanjem. Lahko jih določi sistem ali uporabnik. Sistemsko definirane spremenljivke so tiste, ki jih nastavi sistem in jih uporabljajo programi na sistemski ravni.

Za npr. Ukaz PWD je zelo pogosta sistemska spremenljivka, ki se uporablja za shranjevanje trenutnega delovnega imenika. Uporabniško določene spremenljivke običajno nastavi uporabnik, bodisi začasno za trenutno lupino bodisi trajno. Celoten koncept nastavljanja in odstranjevanja spremenljivk okolja se vrti okoli nekega nabora datotek in nekaj ukazov in različnih lupin.

V širšem smislu je lahko spremenljivka okolja v treh vrstah:

Ena, določena za trenutno sejo. Te spremenljivke okolja trajajo samo do trenutne seje, naj bo to seja oddaljene prijave ali lokalna terminalska seja. Te spremenljivke niso določene v nobeni konfiguracijski datoteki in so ustvarjene in odstranjene s posebnim naborom ukazov.

To so spremenljivke, ki so določene za določenega uporabnika in se naložijo vsakič, ko se uporabnik prijavi z lokalno terminalsko sejo ali pa se ta uporabnik prijavi z oddaljeno prijavno sejo. Te spremenljivke so običajno nastavljene in naložene iz naslednjih konfiguracijskih datotek: .bashrc , .bash_profile , .bash_login , .profile datoteke, ki so v uporabnikovem domačem imeniku.

To so spremenljivke okolja, ki so na voljo v celotnem sistemu, torej za vse uporabnike, ki so prisotni v tem sistemu. Te spremenljivke so prisotne v celotnih sistemskih konfiguracijskih datotekah, ki so v naslednjih imenikih in datotekah: /etc/environment , /etc/profile , /etc/profile.d/, /etc/bash.bashrc . Te spremenljivke se naložijo vsakič, ko kateri koli uporabnik sistem vklopi in prijavi lokalno ali na daljavo.

Razumevanje konfiguracijskih datotek za celotno uporabniško in sistemsko konfiguracijo

Tu na kratko opisujemo različne zgoraj naštete konfiguracijske datoteke, ki vsebujejo spremenljivke okolja, bodisi za sistem bodisi za uporabnika.

Ta datoteka je uporabniško specifična datoteka, ki se naloži vsakič, ko uporabnik ustvari novo lokalno sejo, tj. S preprostimi besedami odpre nov terminal. Vse spremenljivke okolja, ustvarjene v tej datoteki, bi začele veljati vsakič, ko se zažene nova lokalna seja.

Ta datoteka je uporabniška datoteka za oddaljeno prijavo. Spremenljivke okolja, navedene v tej datoteki, se prikličejo vsakič, ko je uporabnik oddaljeno prijavljen, tj. S pomočjo seje ssh. Če te datoteke ni, sistem poišče datoteke .bash_login ali .profile .

Ta datoteka je sistemska datoteka za ustvarjanje, urejanje ali odstranjevanje spremenljivk okolja. Spremenljivke okolja, ustvarjene v tej datoteki, so dostopne vsem uporabnikom sistema, tako lokalno kot oddaljeno.

Datoteka bashrc v celotnem sistemu. Ta datoteka se naloži enkrat za vsakega uporabnika, vsakič ko ta odpre lokalno terminalsko sejo. Spremenljivke okolja, ustvarjene v tej datoteki, so dostopne vsem uporabnikom, vendar le prek lokalne terminalske seje. Ko do katerega koli uporabnika na tej napravi dostopate na daljavo prek oddaljene prijavne seje, te spremenljivke ne bodo vidne.

Datoteka s sistemskim profilom. Vse spremenljivke, ustvarjene v tej datoteki, so dostopne vsem uporabnikom v sistemu, vendar le, če se seja tega uporabnika prikliče na daljavo, torej prek oddaljene prijave. Katera koli spremenljivka v tej datoteki ne bo dostopna za lokalno prijavno sejo, tj. Ko uporabnik odpre nov terminal v svojem lokalnem sistemu.

Opomba: Spremenljivke okolja, ustvarjene z uporabo sistemskih ali uporabniških konfiguracijskih datotek, lahko odstranite tako, da jih odstranite samo iz teh datotek. Samo to, da se po vsaki spremembi teh datotek odjavite in znova prijavite ali pa preprosto vnesite naslednji ukaz na terminalu, da bodo spremembe začele veljati:

$ source <file-name>

V Linuxu nastavite ali izključite lokalne spremenljivke okolja ali celotno sejo

Spremenljivke lokalnega okolja lahko ustvarite z naslednjimi ukazi:

$ var=value 
OR
$ export var=value

Te spremenljivke obsegajo celotno sejo in veljajo samo za trenutno terminalsko sejo. Če želite počistiti te spremenljivke okolja v celotni seji, lahko uporabite naslednje ukaze:

Privzeto je ukaz \"env \" seznam vseh trenutnih spremenljivk okolja. Če pa se uporablja s stikalom -i , začasno izbriše vse spremenljivke okolja in uporabniku dovoli, da izvrši ukaz v trenutni seji brez vseh spremenljivk okolja.

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

Tu var = value ustreza kateri koli spremenljivki lokalnega okolja, ki jo želite uporabiti samo s tem ukazom.

$ env –i bash

Dala bo bash lupino, ki začasno ne bi imela nobene spremenljivke okolja. Toda ob izhodu iz lupine bi bile vse spremenljivke obnovljene.

Drug način za čiščenje spremenljivke lokalnega okolja je z uporabo ukaza unset. Če želite začasno izključiti katero koli spremenljivko lokalnega okolja,

$ unset <var-name>

Kjer je var-name ime lokalne spremenljivke, ki jo želite odstraniti ali počistiti.

Drug manj pogost način bi bil, da ime spremenljivke, ki jo želite počistiti, nastavite na (Empty). S tem bi počistili vrednost lokalne spremenljivke za trenutno sejo, za katero je aktivna.

OPOMBA - LAHKO SE TUDI IGRATE IN SPREMINJATE VREDNOSTI SISTEMSKIH ALI UPORABNIŠKIH SPREMENLJIVK V OKOLJU, ALI SPREMEMBE BI SE ODBALE SAMO V TRENUTNEM TERMINALNEM ZASEDANJU IN NE BILE TRAJNE.

Naučite se ustvariti spremenljivke okolja za vse uporabnike in za sistem v okolju Linux

V tem poglavju se bomo naučili, kako v Linuxu nastaviti ali izključiti lokalne, uporabniške in sistemske spremenljivke okolja s spodnjimi primeri:

a.) Tu ustvarimo lokalno spremenljivko VAR1 in jo nastavimo na poljubno vrednost. Nato z unset odstranimo to lokalno spremenljivko, na koncu pa spremenljivko.

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

b.) Drug način ustvarjanja lokalne spremenljivke je z uporabo ukaza export . Ustvarjena lokalna spremenljivka bo na voljo za trenutno sejo. Če želite spremenljivko izključiti, preprosto nastavite vrednost spremenljivke na .

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

c.) Tu smo ustvarili lokalno spremenljivko VAR2 in jo nastavili na vrednost. Nato smo, da zaženemo ukaz, ki začasno izbriše vse lokalne in druge spremenljivke okolja, izvedli ukaz env –i . Ta ukaz je tukaj izvedel lupino bash z odstranjevanjem vseh drugih spremenljivk okolja. Po vnosu exit v priklicano lupino bash bi bile obnovljene vse spremenljivke.

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

a.) Spremenite datoteko .bashrc v domačem imeniku, da izvozite ali nastavite spremenljivko okolja, ki jo želite dodati. Po tem viru datoteko, da bodo spremembe začele veljati. Potem bi videli spremenljivko (v mojem primeru CD ), ki začne veljati. Ta spremenljivka bo na voljo vsakič, ko odprete nov terminal za tega uporabnika, ne pa tudi za oddaljene seje prijave.

$ vi .bashrc

V datoteko .bashrc na dnu dodajte naslednjo vrstico.

export CD='This is TecMint Home'

Zdaj zaženite naslednji ukaz, da izvedete nove spremembe in jih preizkusite.

$ source .bashrc 
$ echo $CD

Če želite odstraniti to spremenljivko, preprosto odstranite naslednjo vrstico v datoteki .bashrc in jo znova pridobite:

b.) Če želite dodati spremenljivko, ki bo na voljo za seje oddaljene prijave (tj. ko uporabnika shranjujete iz oddaljenega sistema), spremenite datoteko .bash_profile .

$ vi .bash_profile

V datoteko .bash_profile na dnu dodajte naslednjo vrstico.

export VAR2='This is TecMint Home'

Pri pridobivanju te datoteke bo spremenljivka na voljo, ko ssh pošljete temu uporabniku, ne pa tudi pri odpiranju novega lokalnega terminala.

$ source .bash_profile 
$ echo $VAR2

Tu VAR2 sprva ni na voljo, vendar s spreminjanjem ssh uporabniku na localhost spremenljivka postane na voljo.

$ ssh [email 
$ echo $VAR2

Če želite odstraniti to spremenljivko, preprosto odstranite vrstico v datoteki .bash_profile , ki ste jo dodali, in jo znova izvorite.

OPOMBA: Te spremenljivke bodo na voljo vsakič, ko ste prijavljeni v trenutnega uporabnika, ne pa tudi za druge uporabnike.

a.) Če želite dodati sistemsko spremenljivko brez prijave (tj. tisto, ki je na voljo vsem uporabnikom, ko kateri koli od njih odpre nov terminal, ne pa tudi, ko kateri koli uporabnik računalnika dostopa na daljavo), dodajte spremenljivko v /etc/bash. bashrc .

export VAR='This is system-wide variable'

Po tem poizvedite datoteko.

$ source /etc/bash.bashrc 

Zdaj bo ta spremenljivka na voljo vsakemu uporabniku, ko odpre kateri koli nov terminal.

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

Tu je enaka spremenljivka na voljo tako za uporabnika root kot za običajnega uporabnika. To lahko preverite tako, da se prijavite drugemu uporabniku.

b.) Če želite, da je na voljo katera koli spremenljivka okolja, ko je kateri koli uporabnik v vaši napravi oddaljeno prijavljen, ne pa tudi pri odpiranju novega terminala na lokalnem računalniku, morate datoteko urediti - /etc/profil .

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

Ko dodate spremenljivko, samo znova izvorite datoteko. Potem bi bila spremenljivka na voljo.

$ source /etc/profile
$ echo $VAR1

Če želite odstraniti to spremenljivko, odstranite vrstico iz datoteke /etc/profile in jo znova uporabite.

c.) Če pa želite dodati katero koli okolje, za katero želite, da je na voljo v celotnem sistemu, tako na oddaljenih sejah za prijavo kot tudi na lokalnih sejah (tj. odpreti novo okno terminala) za vse uporabnike, spremenljivko samo izvozite v/etc/okolje.

export VAR12='I am available everywhere'

Po tem datoteko samo poiščite in spremembe začnejo veljati.

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

Kot vidimo, je spremenljivka okolja na voljo za običajnega uporabnika, korenskega uporabnika, pa tudi za sejo oddaljene prijave (tukaj, na localhost).

Če želite odstraniti to spremenljivko, preprosto odstranite vnos v datoteki/etc/environment in ga znova uporabite ali se znova prijavite.

OPOMBA: Spremembe začnejo veljati, ko datoteka izvira. V nasprotnem primeru se boste morda morali odjaviti in znova prijaviti.

Zaključek

Tako obstaja nekaj načinov, kako lahko spremenimo spremenljivke okolja. Če najdete kakšen nov in zanimiv trik za isto, v svojih komentarjih omenite.