Hvordan setter jeg en miljøvariabel i Zsh

Hvordan setter jeg en miljøvariabel i Zsh

Hvis du noen gang har brukt Linux -terminalen, er du sannsynligvis klar over miljøvariabler. Miljøvariabler refererer til et sett med dynamiske variabelnavn som lagrer en verdi som applikasjoner fra Linux -skallet kan bruke.

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:

  1. Miljøvariabler
  2. Skallvariabler.

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.

  • HJEM - Representerer hjemmekatalogen for den nåværende brukeren.
  • Skall - Viser banen til den nåværende brukerens skall.
  • BRUKER - Viser den for øyeblikket innloggede brukeren.
  • STI - Inneholder en liste over kataloger som skal søkes etter kjørbare filer når en kommando utføres.
  • Lang - Viser lokalinnstillinger, inkludert karakterkoding
  • BEGREP - Refererer til gjeldende terminalemulering.
  • _ - Viser den tidligere utførte kommandoen for den brukeren.

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.

  • Zsh_version - Versjonen av Zsh -skallet som blir utført.
  • Hurtig - Viser plassholdere for det nåværende ZSH -hurtigformatet. I likhet med $ PS1.
  • Histsize - Antall historiekommandoer lagret i minnet.
  • Histfile - Sti til Zsh -kommandohistorikkfilen.
  • Zsh_name - Zsh skallnavn.
  • Uid - Uid av den nåværende brukeren.
  • Ifs - Lagrer verdien av den interne feltskilleren.

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.