Var ska miljövariabler ställas in på Mac

Anonim

På kommandoraden definieras miljövariabler för det aktuella skalet och ärvs av alla pågående kommandon eller processer. De kan bestämma allt från standardskalet, PATH, användarens hemkatalog, till terminalemuleringstypen, aktuell arbetskatalog, var en historikfil finns, språk- och lokaliseringsinställningar, och gå vidare till att inkludera skalvariabler, som inkluderar allt från anpassningar till bash-prompten, färgad ls-utdata och ändringar av terminalens utseende, till alias och mycket mer.

Låt oss gå igenom hur man listar miljö- och skalvariabler, och sedan hur man ställer in och lägger till nya miljövariabler på kommandoraden i Mac OS X. Vi kommer att täcka detta för både bash- och zsh-skal.

Visar aktuell miljö och skalvariabler i bash på Mac OS X

För att snabbt få en lista över miljövariabler kan du använda följande kommando med bash:

printenv

För att lista miljövariabler i zsh, använd följande kommando: env

Eller valfritt:

echo $ENV_VAR

Om du vill se en komplett lista med skalvariabler, kan kommandot 'set' också utfärdas:

uppsättning

Utmatningen av dessa kommandon kan vara lång, så du kanske vill överföra utmatningen genom färre eller fler kommandon.

Ställa in miljövariabler i macOS kommandorad med zsh

Zsh-skalet ställer in miljövariabler genom zshenv-filen, som finns i användarens hemkatalog på:

~/.zshenv

Du kan alltså lägga till zsh miljövariabler genom att modifiera den filen med nano, vim, etc, eller genom att använda eko som så:

echo 'export ENV_VAR=example' >> ~/.zshenv

Till exempel:

echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv

Ställa in miljövariabler i Mac OS X kommandorad med bash

Eftersom Mac använder bash-skal som standard kan du ställa in miljövariabler i användarkatalogerna .bash_profile, för ett aktivt användarkonto finns sökvägen till den filen på:

~/.bash_profile

Om du ändrade ditt skal eller om du inte är säker på vilket skal du använder, kan du alltid kontrollera genom att utfärda kommandot echo $SHELL, som visar vilket skal som används. Vi kommer att anta att du fortfarande använder OS X-standardbash-skalet, så vi lägger till nya miljövariabler genom att modifiera .bash_profile med nano – du kan använda vi, emacs eller en annan textredigerare om du vill, men vi kommer att täcka nano för dess enkelhet.

Börja med att öppna .bash_profile i nanotextredigeraren:

nano .bash_profile

Du kan lägga till miljövariabler och skalvariabler på nya rader, om det redan finns data i .bash_profile-filen, se bara till att lägga till nya variabler på en ny tom rad med hjälp av piltangenterna och returnyckel vid behov.

Låt oss ta ett exempel och säga att vi ska ställa in miljövariablerna JAVA_HOME och JRE_HOME inom .bash_profile genom att lägga till följande till nya rader i filen:

export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)

Ändringar och tillägg av miljövariabler kräver att skalet startas om eller att ett nytt skal skapas.

Ställa in tillfälliga miljövariabler i OS X

Det är värt att nämna att du också kan ställa in temporära miljövariabler i bash genom att använda kommandot "exportera" i sig, även om dessa bara kommer att kvarstå så länge som det aktuella bashskalet förblir aktivt. Om du till exempel vill lägga till en tillfällig sökväg till ~/bin/ kan du använda följande kommando:

export PATH=$PATH:~/bin

Återigen, kommandot 'export' som körs av sig självt och som inte finns i .bash_profile kommer bara att vara en tillfällig inställning och miljövariabeln kommer inte att kvarstå om du inte lägger till den i .bash_profile.

Om du faktiskt letar efter att lägga till en ny PATH för användning, bör du nästan säkert lägga till den i .bash_profile genom att placera lämpligt exportkommando i filen.

Om du går bortom bash-skalet, om du ändrade ditt terminal-apps standardskal från bash till tcsh, zsh, sh, ksh, fish eller något av de andra alternativa skalen där ute, behöver du helt enkelt för att ändra lämplig profil eller rc-fil för det specifika skalet (.tschrc, .cshrc, .profile, etc).

Var ska miljövariabler ställas in på Mac