Kif Issettja u Tneħħi Varjabbli Ambjentali Lokali, Utent u Sistema Mifruxa fil-Linux


Il-Varjabbli tal-Ambjent huma xi varjabbli speċjali li huma definiti fil-qoxra u huma meħtieġa mill-programmi waqt l-eżekuzzjoni. Jistgħu jkunu definiti minn sistema jew definiti mill-utent. Il-varjabbli definiti tas-sistema huma dawk li huma stabbiliti mis-sistema u li jintużaw minn programmi fil-livell tas-sistema.

Għal eż. Il-kmand PWD huwa varjabbli tas-sistema komuni ħafna li jintuża biex jaħżen id-direttorju tax-xogħol preżenti. Varjabbli definiti mill-utent huma tipikament stabbiliti mill-utent, jew temporanjament għall-qoxra attwali jew b'mod permanenti. Il-kunċett kollu ta 'l-issettjar u t-tneħħija ta' varjabbli ambjentali jdur madwar xi sett ta 'fajls u ftit kmandi u qxur differenti.

F'termini usa', varjabbli ambjentali jista' jkun fi tliet tipi:

Wieħed definit għas-sessjoni attwali. Dawn il-varjabbli ambjentali jdumu biss sas-sessjoni attwali, kemm jekk tkun sessjoni ta' login mill-bogħod, jew sessjoni terminali lokali. Dawn il-varjabbli mhumiex speċifikati fl-ebda fajls ta 'konfigurazzjoni u huma maħluqa, u mneħħija bl-użu ta' sett speċjali ta 'kmandi.

Dawn huma l-varjabbli li huma definiti għal utent partikolari u huma mgħobbija kull darba li utent jidħol billi juża sessjoni ta' terminal lokali jew dak l-utent ikun illoggjat billi juża sessjoni ta' login mill-bogħod. Dawn il-varjabbli huma tipikament stabbiliti u mgħobbija mill-fajls ta' konfigurazzjoni li ġejjin: .bashrc, .bash_profile, .bash_login, .profile fajls li huma preżenti fid-direttorju tad-dar tal-utent.

Dawn huma l-varjabbli ambjentali li huma disponibbli fis-sistema kollha, jiġifieri għall-utenti kollha preżenti fuq dik is-sistema. Dawn il-varjabbli huma preżenti fil-fajls tal-konfigurazzjoni tas-sistema kollha preżenti fid-direttorji u l-fajls li ġejjin: /etc/environment, /etc/profile, /etc/profile.d /, /etc/bash.bashrc. Dawn il-varjabbli huma mgħobbija kull darba li s-sistema tixgħel u tilloggja jew lokalment jew mill-bogħod minn kwalunkwe utent.

Fehim tal-fajls tal-Konfigurazzjoni għall-Utent Wide u s-Sistema kollha

Hawnhekk, aħna niddeskrivu fil-qosor diversi fajls ta 'konfigurazzjoni elenkati hawn fuq li jżommu Varjabbli Ambjentali, jew għas-sistema kollha jew speċifiċi għall-utent.

Dan il-fajl huwa fajl speċifiku għall-utent li jitgħabba kull darba li l-utent joħloq sessjoni lokali ġdida jiġifieri fi kliem sempliċi, jiftaħ terminal ġdid. Il-varjabbli ambjentali kollha maħluqa f'dan il-fajl jidħlu fis-seħħ kull darba li tinbeda sessjoni lokali ġdida.

Dan il-fajl huwa fajl tal-login remot speċifiku għall-utent. Il-varjabbli ambjentali elenkati f'dan il-fajl huma invokati kull darba li l-utent ikun illoggjat mill-bogħod jiġifieri billi juża s-sessjoni ssh. Jekk dan il-fajl ma jkunx preżenti, is-sistema tfittex jew fajls .bash_login jew .profile.

Dan il-fajl huwa fajl kollu tas-sistema għall-ħolqien, l-editjar jew it-tneħħija ta 'kwalunkwe varjabbli ambjentali. Il-varjabbli ambjentali maħluqa f'dan il-fajl huma aċċessibbli kollha fis-sistema kollha, minn kull utent, kemm lokalment kif ukoll mill-bogħod.

Fajl bashrc tas-sistema kollha. Dan il-fajl jitgħabba darba għal kull utent, kull darba li dak l-utent jiftaħ sessjoni tat-terminal lokali. Il-varjabbli ambjentali maħluqa f'dan il-fajl huma aċċessibbli għall-utenti kollha iżda biss permezz ta' sessjoni tat-terminal lokali. Meta kwalunkwe utent fuq dik il-magna jiġi aċċessat mill-bogħod permezz ta' sessjoni ta' login mill-bogħod, dawn il-varjabbli ma jkunux viżibbli.

Fajl tal-profil tas-sistema kollha. Il-varjabbli kollha maħluqa f'dan il-fajl huma aċċessibbli minn kull utent fis-sistema, iżda biss jekk is-sessjoni ta 'dak l-utent tiġi invokata mill-bogħod, jiġifieri permezz ta' login remot. Kwalunkwe varjabbli f'dan il-fajl mhux se jkun aċċessibbli għal sessjoni ta' login lokali jiġifieri meta l-utent jiftaħ terminal ġdid fis-sistema lokali tiegħu.

Nota: Il-varjabbli tal-ambjent maħluqa bl-użu ta' fajls ta' konfigurazzjoni tas-sistema kollha jew tal-utent kollha jistgħu jitneħħew billi jitneħħew minn dawn il-fajls biss. Hekk biss wara kull bidla f'dawn il-fajls, jew illoggja u illoggja mill-ġdid jew sempliċement ittajpja l-kmand li ġej fuq it-terminal biex il-bidliet jidħlu fis-seħħ:

$ source <file-name>

Issettja jew Tneħħi Varjabbli Ambjentali Lokali jew mas-Sessjoni kollha fil-Linux

Varjabbli Ambjentali Lokali jistgħu jinħolqu bl-użu tal-kmandi li ġejjin:

$ var=value 
OR
$ export var=value

Dawn il-varjabbli huma sessjoni kollha u huma validi biss għas-sessjoni terminali attwali. Biex Tnaddaf dawn il-varjabbli ambjentali tas-sessjoni kollha jistgħu jintużaw il-kmandi li ġejjin:

B'mod awtomatiku, il-kmand \env\ jelenka l-varjabbli ambjentali attwali kollha. Iżda, jekk jintuża bi swiċċ -i, ineħħi temporanjament il-varjabbli ambjentali kollha u jħalli lill-utent jesegwixxi kmand fis-sessjoni attwali fin-nuqqas tal-varjabbli ambjentali kollha.

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

Hawnhekk, var=value tikkorrispondi għal kwalunkwe varjabbli tal-ambjent lokali li trid tuża b'dan il-kmand biss.

$ env –i bash

Se tagħti bash qoxra li temporanjament ma jkollu ebda varjabbli ambjentali. Iżda, hekk kif toħroġ mill-qoxra, il-varjabbli kollha jiġu restawrati.

Mod ieħor biex tnaddaf il-varjabbli tal-ambjent lokali huwa billi tuża kmand mhux issettjat. Biex titneħħa kwalunkwe varjabbli ambjentali lokali temporanjament,

$ unset <var-name>

Fejn, var-name huwa l-isem tal-varjabbli lokali li trid tneħħi jew tikklerja.

Mod ieħor inqas komuni jkun li tissettja l-isem tal-varjabbli li trid tneħħi, għal (Volja). Dan jikklerja l-valur tal-varjabbli lokali għas-sessjoni kurrenti li għaliha hija attiva.

NOTA – TISTA’ ANKE TLAGĦBU MAL-VALURI TA’ VARJABBLI TA’ SISTEMA JEW TA’ L-AMBJENT TA’ L-UTENTI, IMMA TIBDILJIET JIRRIFETTU FIS-SESSJONI TERMINALI KURRENTI BISS U MA JKUNX PERMANENTI.

Tgħallem Kif Oħloq Varjabbli Ambjentali, Mifruxa mal-Utent u Mas-Sistema kollha fil-Linux

Fit-taqsima, se nitgħallmu kif nissettjaw jew tneħħi varjabbli ambjentali lokali, utent u sistema wiesgħa fil-Linux bl-eżempji hawn taħt:

a.) Hawnhekk, noħolqu varjabbli lokali VAR1 u nissettjawha għal kwalunkwe valur. Imbagħad, nużaw unset biex inneħħu dik il-varjabbli lokali, u fl-aħħar dik il-varjabbli titneħħa.

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

b.) Mod ieħor kif toħloq varjabbli lokali huwa billi tuża kmand export. Il-varjabbli lokali maħluqa se tkun disponibbli għas-sessjoni attwali. Biex titneħħa l-varjabbli sempliċement issettja l-valur tal-varjabbli għal .

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

c.) Hawnhekk, ħloqna varjabbli lokali VAR2 u waqqafna għal valur. Imbagħad sabiex inħaddmu kmand li jneħħi temporanjament il-varjabbli kollha lokali u ambjentali oħra, wettaqna kmand env –i. Dan il-kmand hawn eżegwit bash shell billi kklerja l-varjabbli ambjentali l-oħra kollha. Wara li ddaħħal exit fuq il-bash shell invokat, il-varjabbli kollha jiġu restawrati.

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

a.) Immodifika l-fajl .bashrc fid-direttorju tad-dar tiegħek biex tesporta jew issettja l-varjabbli ambjentali li trid iżżid. Wara dak is-sors il-fajl, biex il-bidliet jidħlu fis-seħħ. Imbagħad int tara l-varjabbli (CD fil-każ tiegħi), tieħu effett. Din il-varjabbli tkun disponibbli kull darba li tiftaħ terminal ġdid għal dan l-utent, iżda mhux għal sessjonijiet ta' login mill-bogħod.

$ vi .bashrc

Żid il-linja li ġejja mal-fajl .bashrc fil-qiegħ.

export CD='This is TecMint Home'

Issa mexxi l-kmand li ġej biex tieħu bidliet ġodda u tittestjah.

$ source .bashrc 
$ echo $CD

Biex tneħħi din il-varjabbli, neħħi biss il-linja li ġejja fil-fajl .bashrc u erġa' ġġibha:

b.) Biex iżżid varjabbli li tkun disponibbli għal sessjonijiet ta' login mill-bogħod (jiġifieri meta tissh lill-utent minn sistema remota), immodifika l-fajl .bash_profile.

$ vi .bash_profile

Żid il-linja li ġejja mal-fajl .bash_profile fil-qiegħ.

export VAR2='This is TecMint Home'

Meta takkwista dan il-fajl, il-varjabbli tkun disponibbli meta ssh lil dan l-utent, iżda mhux malli tiftaħ xi terminal lokali ġdid.

$ source .bash_profile 
$ echo $VAR2

Hawnhekk, VAR2 mhix disponibbli inizjalment iżda, meta tagħmel ssh lill-utent fuq localhost, il-varjabbli ssir disponibbli.

$ ssh [email 
$ echo $VAR2

Biex tneħħi din il-varjabbli, neħħi biss il-linja fil-fajl .bash_profile li żidt, u erġa' jġib il-fajl.

NOTA: Dawn il-varjabbli se jkunu disponibbli kull darba li tkun illoggjat mal-utent attwali iżda mhux għal utenti oħra.

a.) Biex iżżid varjabbli bla login tas-sistema kollha (jiġifieri waħda li hija disponibbli għall-utenti kollha meta xi wieħed minnhom jiftaħ terminal ġdid iżda mhux meta kwalunkwe utent tal-magna jiġi aċċessat mill-bogħod) żid il-varjabbli ma '/etc/bash. bashrc fajl.

export VAR='This is system-wide variable'

Wara dan, sors il-fajl.

$ source /etc/bash.bashrc 

Issa din il-varjabbli se tkun disponibbli għal kull utent meta jiftaħ xi terminal ġdid.

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

Hawnhekk, l-istess varjabbli hija disponibbli għall-utent root kif ukoll għall-utent normali. Tista' tivverifika dan billi tidħol ma' utent ieħor.

b.) Jekk trid li kwalunkwe varjabbli ambjentali tkun disponibbli meta xi utent fuq il-magna tiegħek ikun illoggjat mill-bogħod, iżda mhux malli tiftaħ xi terminal ġdid fuq magna lokali, allura trid teditja l-fajl - /etc/ profil.

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

Wara li żżid il-varjabbli, erġa' poġġi l-fajl. Imbagħad il-varjabbli tkun disponibbli.

$ source /etc/profile
$ echo $VAR1

Biex tneħħi din il-varjabbli, neħħi l-linja mill-fajl /etc/profile u erġa' jġibha.

c.) Madankollu, jekk trid iżżid xi ambjent li trid tkun disponibbli fis-sistema kollha, kemm fuq sessjonijiet ta' login mill-bogħod kif ukoll sessjonijiet lokali (jiġifieri tiftaħ tieqa terminali ġdida) għall-utenti kollha, esporta biss il-varjabbli f' fajl /etc/environment.

export VAR12='I am available everywhere'

Wara dan biss sors il-fajl u l-bidliet jidħlu fis-seħħ.

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

Hawnhekk, kif naraw il-varjabbli ambjentali hija disponibbli għall-utent normali, l-utent root, kif ukoll fuq is-sessjoni ta 'login remot (hawn, għal localhost).

Biex tneħħi din il-varjabbli, neħħi biss l-iskrizzjoni fil-fajl /etc/environment u erġa' tagħmel sors jew idħol mill-ġdid.

NOTA: Il-bidliet jidħlu fis-seħħ meta tieħu l-fajl. Iżda, jekk le, jista' jkun li jkollok bżonn illoggja u terġa' tidħol.

Konklużjoni

Għalhekk, dawn huma ftit modi kif nistgħu nimmodifikaw il-varjabbli ambjentali. Jekk issib xi tricks ġodda u interessanti għall-istess semmi fil-kummenti tiegħek.