Miljøvariabler kommer som nøkkelverdipar der nøkkelen representerer variabelenes navn og en verdi. Du kan tilpasse verdiene på miljøvariabler, med endringene reflektert globalt på alle applikasjonene som ble lansert fra skallet.
Denne guiden vil diskutere hvordan du kan samhandle med miljøvariabler, lese og sette miljøvariabler ved hjelp av ZSH -skallet.
Hvordan miljøvariabler fungerer
La oss ta et øyeblikk til å forstå hvordan miljøvariabler fungerer.
I Linux og andre UNIX-baserte systemer, hver gang vi lanserer en ny skalløkt, initialiserer den en prosess for å samle informasjonen som skal være tilgjengelig i den skalløkten og alle dens barneprosesser. Slik informasjon samles fra konfigurasjonsfiler som for eksempel .Zshrc, .Zlogin, etc.
Hensikten med miljøvariabler er å gi et enkelt medium der skallet kan hente eller angi innstillinger relatert til systemet.
Miljøvariabler tar følgende format:
Nøkkel = verdi
Nøkkel = verdi1: Verdi2
Hvis miljøvariabelen inneholder flere verdier, skilles hver verdi med en tykktarm (:). Et kjent eksempel på en slik miljøvariabel er $ banen.
Tilsvarende, hvis verdien av miljøvariabelen inneholder mellomrom, er verdien vedlagt i et par anførselstegn som:
Key = "Verdi med mellomrom"
Miljøvariabler er case-følsomme. Det anbefales å bruke store bokstaver for miljøvariabler for å skille dem i andre sammenhenger.
Du skal ikke inkludere mellomrom rundt det like store tegnet (=).
Det er to hovedtyper av variabler:
Miljøvariabler
Miljøvariabler er globale variabler som er arvet av alle skjell og deres tilsvarende barneprosesser.
Skallvariabler
På den annen side er skallvariabler tilgjengelige i skallet som de er definert eller satt. De brukes ofte til å lagre midlertidige data og blir automatisk ødelagt når skalløkten er avsluttet.
Hvert skall som bash, zsh, fisk og andre inneholder sitt eget sett med skallvariabler.
Hvordan skrive ut miljøvariabler
Ulike Linux -skjell holder rede på deres forhåndsdefinerte skall- og miljøvariabler. Vi kan se disse variablene ved hjelp av forskjellige kommandoer.
Den vanligste kommandoen for å se miljøvariablene er PRINTENV -kommandoen. Hvis du kjører denne kommandoen uten argumenter, skriver den ut alle miljøvariablene som vist i eksemplet nedenfor:
PRINTENV
Kommandoen over skal skrive ut alle miljøvariablene som vist:
Shell =/bin/zsh
Session_Manager = Local/Debian10.Lokal:@/tmp/.IS-
Unix/964, Unix/Debian10.Lokal:/tmp/.ICE-UNIX/964
QT_Accessibility = 1
ColorTerm = Truecolor
XDG_MENU_PREFIX = GNOME-
GNOME_DESKTOP_SESSION_ID = dette-er-defekte
Ssh_auth_sock =/run/user/1000/keyRing/ssh
DESKTOP_SESSION = GNOME
Gtk_modules = gail: atk-bro
XDG_SEAT = SEAT0
PWD =/Home/Debian
XDG_SESSION_DESKTOP = GNOME
LogName = Debian
XDG_SESSION_TYPE = Wayland
GJS_DEBUG_TOPICS = JS -feil; JS Log
Gdm_lang = en_us.UTF-8
Hjem =/Hjem/Debian
Brukernavn = Debian
---------Output avkortet-------------------------------------
Ved hjelp av PRETTENV -kommandoen kan du skrive ut en individuell variabel ved å gi den som et argument. For å vise verdien av $ banen, kan du for eksempel bruke kommandoen:
PRINTENV PATH
Kommandoen skal returnere verdien av banevariabelen som:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Du kan også sende flere variabler til PRintEnv -kommandoen som:
$ PRINTENV PATH HOME Brukernavn
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
/Hjem/Debian
Debian
Kommandoen skal skrive ut verdiene til miljøvariablene som er passert hver i en linje.
TIPS: Du kan også bruke Env -kommandoen til å skrive ut eller angi verdiene for miljøvariabler.
Populære miljøvariabler
Følgende er noen standardmiljøvariabler.
Hvordan skrive ut skallvariabler
Både PRINTENV- og ENV -kommandoene vil bare vise miljøvariablene. Bruk SET -kommandoen til å se alle variablene, inkludert skall og lokale variabler, funksjoner og miljøvariabler.
Hvis du utfører den angitte kommandoen uten noen parametere, vil den skrive ut alle variablene som:
sett
Her er et eksempelutgang:
'!'= 0
'#' = 0
'$' = 2801
'*' = ()
-= 569jnrxzghiklms
0 = zsh
'?'= 0
@= ()
Argc = 0
BG
Cdpath = "
ColorTerm = Truecolor
Kolonner = 211
Cputype = x86_64
DBUS_SESSION_BUS_ADDRESS = 'UNIX: Path =/Run/User/1000/Bus'
DESKTOP_SESSION = GNOME
Display =: 0
Egid = 1000
EpochrealTime
Epochseconds
EUID = 1000
Fg
Fignore = "
FPath =/Home/Debian/.oh-my-zsh/plugins/git:/home/debian/.Oi da-
zsh/funksjoner:/hjemme/debian/.oh-my-zsh/fullføringer
---Output avkortet----------------------------------------
Verdiene som er skrevet ut fra SET -kommandoen er vanligvis en massiv liste over elementer du kan filtrere ved å pipere utgangen til kommandoer som grep.
Populære skallvariabler
Selv om skallvariabler vil variere avhengig av skallet du bruker; Følgende er vanlig i ZSH -skallet.
Hvordan du angir miljøvariabler i zsh
For å angi miljøvariabler, bruker vi eksportkommandoen. Syntaksen er:
Eksporter nøkkel = verdi
For eksempel, for å lage en http_proxy -variabel og sette den til en URL, kan vi gjøre:
Eksporter http_proxy = "http: // 127.0.0.1: 8080 "
For å bekrefte opprettelsen av variabelen, kan vi bruke PRintenV -kommandoen som:
printenv http_proxy
http: // 127.0.0.1: 8080
Når du har angitt en miljøvariabel, kan du få tilgang til den fra alle barneprosessene. For eksempel:
zsh -c 'ekko $ http_proxy'
Imidlertid er miljøvariabler som er opprettet i metoden omtalt ovenfor, bare tilgjengelige i den nåværende skalløkten. Når de er lukket, blir alle miljøvariablene ødelagt.
Hvordan lage permanente miljøvariabler
Hvis du vil opprette en miljøvariabel som kan vedvare på tvers av skalløkter, kan du bruke Shell -konfigurasjonsfilene.
I ZSH kan du definere miljøvariablene i .Zshrc -fil.
Tilsvarende må du bruke eksportkommandoen som:
vim ~/.Zshrc
Eksporter http_proxy- "http: // 127.0.0.1: 8080 "
Lukk og lagre filen.
For å laste inn miljøvariablene i den nåværende skalløkten, bruk kildekommandoen som:
kilde ~/.Zshrc
Konklusjon
I denne guiden diskuterte vi hvordan vi skal jobbe med miljø- og skallvariabler i Linux -systemer. Vi lærte også hvordan man angir miljøvariabler og bruker utholdenhet på tvers av skalløkter.
Takk for at du leser.