![Måter å endre Gmail-passord og Gmail-passordgjenoppretting](/f/fecc8bf983875b313003f4eba8f57e7b.png?width=100&height=100)
Miljøvariabler er noen spesielle variabler som er definert i shell og er nødvendige for programmer mens de kjøres. De kan være systemdefinerte eller brukerdefinerte. Systemdefinerte variabler er de som er angitt av systemet og brukes av programmer på systemnivå.
For f.eks. PWD kommando er en veldig vanlig systemvariabel som brukes til å lagre den nåværende arbeidskatalogen. Brukerdefinerte variabler blir vanligvis angitt av brukeren, enten midlertidig for gjeldende skall eller permanent. Hele konseptet med innstilling og ikke-innstilling av miljøvariabler dreier seg om et sett med filer og få kommandoer og forskjellige skjell.
I bredere termer kan en miljøvariabel være av tre typer:
En definert for gjeldende økt. Disse miljøvariablene varer bare til gjeldende økt, det være seg ekstern påloggingsøkt eller lokal terminaløkt. Disse variablene er ikke spesifisert i noen konfigurasjonsfiler og blir opprettet og fjernet ved bruk av et spesielt sett med kommandoer.
Dette er variablene som er definert for en bestemt bruker og lastes hver gang en bruker logger på med en lokal terminaløkt eller at brukeren er logget inn med ekstern påloggingsøkt. Disse variablene settes vanligvis inn og lastes fra følgende konfigurasjonsfiler: .bashrc
, .bash_profile
, .bash_login
, .profil
filer som finnes i brukerens hjemmekatalog.
Dette er miljøvariablene som er tilgjengelige hele systemet, dvs. for alle brukerne som er tilstede på det systemet. Disse variablene finnes i systemomfattende konfigurasjonsfiler i følgende kataloger og filer: /etc/environment
, /etc/profile
, /etc/profile.d/
, /etc/bash.bashrc
. Disse variablene lastes inn hver gang systemet slås på og logges inn enten lokalt eller eksternt av en bruker.
Her beskriver vi kort ulike konfigurasjonsfiler som er oppført ovenfor som inneholder miljøvariabler, enten systembrede eller brukerspesifikke.
Denne filen er en brukerspesifikk fil som lastes inn hver gang brukeren oppretter en ny lokal økt, dvs. åpner en ny terminal med enkle ord. Alle miljøvariabler som opprettes i denne filen vil tre i kraft hver gang en ny lokal økt startes.
Denne filen er brukerspesifikk ekstern påloggingsfil. Miljøvariabler som er oppført i denne filen påkalles hver gang brukeren er pålogget eksternt, dvs. ved å bruke ssh -økt. Hvis denne filen ikke er tilstede, ser systemet etter enten .bash_login
eller .profil
filer.
Denne filen er systemomfattende fil for å lage, redigere eller fjerne miljøvariabler. Miljøvariabler som er opprettet i denne filen, er tilgjengelige overalt i systemet, for hver bruker, både lokalt og eksternt.
System bredt bashrc
fil. Denne filen lastes inn én gang for hver bruker, hver gang brukeren åpner en lokal terminaløkt. Miljøvariabler som er opprettet i denne filen, er tilgjengelige for alle brukere, men bare gjennom den lokale terminaløkten. Når en bruker på den maskinen er eksternt tilgjengelig via en ekstern påloggingsøkt, vil ikke disse variablene være synlige.
Systembred profilfil. Alle variablene som er opprettet i denne filen er tilgjengelige for hver bruker på systemet, men bare hvis brukerens økt blir påkrevet eksternt, dvs. via ekstern pålogging. Enhver variabel i denne filen vil ikke være tilgjengelig for lokal påloggingsøkt, dvs. når brukeren åpner en ny terminal på sitt lokale system.
Merk: Miljøvariabler som er opprettet med hele systemet eller brukerdekkende konfigurasjonsfiler kan bare fjernes ved å fjerne dem fra disse filene. Bare det etter hver endring i disse filene, enten logg ut og logg inn igjen eller bare skriv følgende kommando på terminalen for at endringene skal tre i kraft:
$ kilde
Lokale miljøvariabler kan opprettes ved hjelp av følgende kommandoer:
$ var = verdi ELLER. $ eksport var = verdi.
Disse variablene er øktbredde og er bare gyldige for gjeldende terminalsession. For å slette disse sesjonsomfattende miljøvariablene kan følgende kommandoer brukes:
Som standard er "env"
kommandoen viser alle gjeldende miljøvariabler. Men hvis den brukes med '-Jeg'
bytte, sletter den midlertidig alle miljøvariablene og lar brukeren utføre en kommando i gjeldende sesjon i fravær av alle miljøvariablene.
$ env –i [Var = Value]... kommando args...
Her, var = verdi
tilsvarer en hvilken som helst lokal miljøvariabel du bare vil bruke med denne kommandoen.
$ env –i bash.
Vil gi bash shell som midlertidig ikke ville ha noen av miljøvariabelen. Men når du går ut av skallet, vil alle variablene bli gjenopprettet.
En annen måte å fjerne lokal miljøvariabel på er ved å bruke kommandoen som ikke er angitt. For å deaktivere en lokal miljøvariabel midlertidig,
$ uinnstilt
Hvor, var-navn
er navnet på den lokale variabelen du vil fjerne eller sette bort.
En annen mindre vanlig måte er å sette navnet på variabelen du vil slette, til ''
(Tømme). Dette vil fjerne verdien til den lokale variabelen for den aktuelle økten den er aktiv for.
MERK - DU KAN ENDA SPILLE MED OG ENDRE VERDIENE AV SYSTEMET ELLER BRUKERMILJØVARIABLER, MEN ENDRINGER VIL reflektere KUN I LØPENDE TERMINAL SESSION BARE OG VIL IKKE VÆRE PERMANENT.
I delen vil vi lære å sette eller deaktivere lokale, bruker- og systemomfattende miljøvariabler i Linux med eksempler nedenfor:
en.) Her lager vi en lokal variabel VAR1
og sett den til en hvilken som helst verdi. Deretter bruker vi usett for å fjerne den lokale variabelen, og på slutten fjernes denne variabelen.
$ VAR1 = 'TecMint er det beste stedet for Linux -artikler' $ echo $ VAR1. $ uinnstilt VAR1. $ echo $ VAR1.
b.) En annen måte å opprette en lokal variabel på er å bruke eksport
kommando. Den lokale variabelen som er opprettet, vil være tilgjengelig for gjeldende økt. For å deaktivere variabelen, sett ganske enkelt verdien til variabelen til ''
.
$ export VAR = 'TecMint er det beste stedet for Linux -artikler' $ echo $ VAR. $ VAR = $ echo $ VAR.
c.) Her opprettet vi en lokal variabel VAR2
og sett den til en verdi. For å kjøre en kommando som midlertidig sletter alle lokale og andre miljøvariabler, kjørte vi 'env –i'
kommando. Denne kommandoen her utført bash shell ved å slette alle andre miljøvariabler. Etter å ha kommet inn 'exit'
på det påkalte bash -skallet ville alle variablene bli gjenopprettet.
$ VAR2 = 'TecMint er det beste stedet for Linux -artikler' $ echo $ VAR2. $ env -i bash. $ echo $ VAR2
en.) Endre .bashrc
filen i hjemmekatalogen for å eksportere eller angi miljøvariabelen du må legge til. Etter det kilde filen for å få endringene til å tre i kraft. Da ser du variabelen ('CD'
i mitt tilfelle), og får virkning. Denne variabelen vil være tilgjengelig hver gang du åpner en ny terminal for denne brukeren, men ikke for eksterne påloggingsøkter.
$ vi .bashrc.
Legg til følgende linje til .bashrc
filen nederst.
export CD = 'This is TecMint Home'
Kjør nå følgende kommando for å ta nye endringer og teste den.
$ source .bashrc $ echo $ CD.
For å fjerne denne variabelen, fjern bare følgende linje i .bashrc filen og kilden til den på nytt:
b.) For å legge til en variabel som vil være tilgjengelig for eksterne påloggingsøkter (dvs. når du ssh til brukeren fra eksternt system), må du endre .bash_profile
fil.
$ vi .bash_profile.
Legg til følgende linje til .bash_profile
filen nederst.
export VAR2 = 'Dette er TecMint Home'
Når du kjøper denne filen, vil variabelen være tilgjengelig når du sender til denne brukeren, men ikke når du åpner en ny lokal terminal.
$ source .bash_profile $ echo $ VAR2.
Her, VAR2
er ikke tilgjengelig i utgangspunktet, men når du gjør ssh til bruker på localhost, blir variabelen tilgjengelig.
$ ssh [e -postbeskyttet]
$ echo $ VAR2.
For å fjerne denne variabelen, fjern bare linjen inn .bash_profile
filen du la til, og kilden til filen på nytt.
MERK: Disse variablene vil være tilgjengelige hver gang du er logget på nåværende bruker, men ikke for andre brukere.
en.) For å legge til en systembred variabel uten pålogging (dvs. en som er tilgjengelig for alle brukere når noen av dem åpner ny terminal, men ikke når en bruker av maskinen har ekstern tilgang), legg til variabelen i /etc/bash.bashrc
fil.
export VAR = 'Dette er en systemomfattende variabel'
Etter det, kilde filen.
$ source /etc/bash.bashrc
Nå vil denne variabelen være tilgjengelig for hver bruker når han åpner en ny terminal.
$ echo $ VAR. $ sudo su. $ echo $ VAR. $ su - $ echo $ VAR.
Her er samme variabel tilgjengelig for rot bruker så vel som vanlig bruker. Du kan bekrefte dette ved å logge på en annen bruker.
b.) Hvis du vil at en miljøvariabel skal være tilgjengelig når noen av brukerne på maskinen din er det eksternt logget inn, men ikke på å åpne noen ny terminal på lokal maskin, må du redigere fil - '/etc/profile'
.
export VAR1 = 'Dette er en systemomfattende variabel for bare eksterne økter'
Etter å ha lagt til variabelen, kilder du bare filen på nytt. Da ville variabelen være tilgjengelig.
$ source /etc /profile. $ echo $ VAR1.
For å fjerne denne variabelen, fjern linjen fra /etc/profile
filen og kilden den på nytt.
c.) Men hvis du vil legge til et miljø som du vil være tilgjengelig overalt i systemet, på begge fjernkontrollene påloggingsøkter så vel som lokale økter (dvs. åpning av et nytt terminalvindu) for alle brukere, bare eksporter variabelen i /etc/environment fil.
export VAR12 = 'Jeg er tilgjengelig overalt'
Etter det vil bare kilden til filen og endringene tre i kraft.
$ source /etc /environment. $ echo $ VAR12. $ sudo su. $ echo $ VAR12. $ exit. $ ssh lokal vert. $ echo $ VAR12.
Som vi ser, er miljøvariabelen tilgjengelig for normal bruker, rotbruker, så vel som på ekstern påloggingsøkt (her, for å lokal vert).
For å fjerne denne variabelen, fjerner du bare oppføringen i /etc/environment filen og kilden til den på nytt, eller logg inn på nytt.
MERK: Endringer trer i kraft når du kilder filen. Men hvis ikke, må du kanskje logge av og logge på igjen.
Dermed er dette få måter vi kan endre miljøvariablene på. Hvis du finner noen nye og interessante triks for det samme, kan du nevne det i kommentarene dine.