Brug miljøvariabler i Terminal på Mac
Shell bruger miljøvariabler til at lagre oplysninger som navnet på den aktuelle bruger, navnet på værtscomputeren og standardstien til alle kommandoer. Miljøvariabler nedarves af alle kommandoer udført i shells kontekst, og nogle kommandoer afhænger af miljøvariabler.
Du kan oprette miljøvariabler og bruge dem til at styre en kommandos funktion uden at ændre selve kommandoen. Du kan f.eks. bruge en miljøvariabel til at få en kommando til at udskrive fejlfindingsoplysninger til Konsol.
Du indstiller værdien af en miljøvariabel ved at bruge den relevante shell-kommando til at forbinde navnet på en variabel med en værdi. Hvis du f.eks. vil indstille variablen PATH til værdien /bin:/sbin:/user/bin:/user/sbin:/system/Library/
, skal du skrive følgende kommando i et Terminalvindue:
% PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Du ser alle miljøvariable ved at skrive:
% env
Når du starter et program fra en shell, nedarver programmet meget af shellens miljø, inkl. eksporterede miljøvariabler. Denne form for arv kan være en praktisk måde at konfigurere programmet dynamisk på. Dit program kan f.eks. søge efter tilstedeværelsen (eller værdien) af en miljøvariabel og ændre dens virkemåde derefter.
Forskellige shells understøtter forskellige ordvalg til eksport af miljøvariabler. Der er oplysninger på din foretrukne shells hjælpeside (man).
Selvom underprocesser i en shell arver den pågældende shells miljø, er shells separate programsammenhænge, der ikke deler oplysninger om miljøer med hinanden. Variabler, du indstiller i et Terminalvindue, indstilles ikke i andre Terminalvinduer.
Når du lukker et Terminal-vindue, er variabler, som du har indstillet i vinduet, ikke længere tilgængelige. Hvis du ønsker, at værdien af en variabel skal bevares i sessioner og i alle Terminalvinduer, skal du indstille den i en shell-startinstruks. Du finder oplysninger om ændring af startinstruksen til din zsh, så du beholder variabler og andre indstillinger i flere sessioner, i sektionen “Invocation” på hjælpesiden (man) til zsh.