Bruk miljøvariabler i Terminal på Macen
Shell-et bruker miljøvariabler til å lagre informasjon, for eksempel navnet på gjeldende bruker, navnet på vertsmaskinen og standardbaner til eventuelle kommandoer. Miljøvariabler arves av alle kommandoer som utføres i shell-ets kontekst, og enkelte kommandoer er avhengige av miljøvariabler.
Du kan opprette miljøvariabler og bruke dem til å styre hvordan en kommando oppfører seg uten å endre selve kommandoen. For eksempel kan du bruke en miljøvariabel til å få en kommando til å skrive ut feilinformasjon til konsollen.
Hvis du vil angi verdien for en miljøvariabel, bruker du den tilhørende shell-kommandoen til å knytte et variabelnavn til en verdi. Hvis du for eksempel vil konfigurere variabelen PATH til verdien /bin:/sbin:/user/bin:/user/sbin:/system/Library/
, kan du skrive inn følgende kommando i et Terminal-vindu:
% PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Hvis du vil se alle miljøvariablene, skriver du:
% env
Når du starter en app fra et shell, arver appen mye av shell-ets miljø, inkludert eksporterte miljøvariabler. Denne formen for arv gir gode muligheter for dynamisk konfigurering av appen. For eksempel kan appen kontrollere tilstedeværelsen (eller verdien) av en miljøvariabel og endre adferden tilsvarende.
Forskjellige shell støtter forskjellig semantikk for eksportering av miljøvariabler. Vis man-siden for ditt foretrukne shell.
Selv om underordnede prosesser for et shell arver miljøet fra det shell-et, er shell atskilte utføringskontekster som ikke deler miljøinformasjon med hverandre. Variabler du konfigurerer i ett Terminal-vindu, gjelder ikke i andre Terminal-vinduer.
Når du lukker et Terminal-vindu, er variabler du har angitt i det vinduet, ikke lenger tilgjengelige. Hvis du vil at verdien til en variabel skal gjelde på tvers av økter og i alle Terminal-vinduer, må du angi den i en oppstartsprosedyre for et shell. Hvis du vil vite hvordan du modifiserer oppstartsprosedyren for zsh-shell slik at du beholder variabler og andre innstillinger over flere økter, kan du lese «Invocation»-delen av man-siden for zsh.