Hvor skal miljøvariabler indstilles på Mac

Anonim

På kommandolinjen defineres miljøvariabler for den aktuelle shell og bliver nedarvet af enhver kørende kommando eller proces. De kan bestemme alt fra standardskallen, PATH, brugerens hjemmemappen, til terminalemuleringstypen, den aktuelle arbejdsmappe, hvor en historiefil er placeret, sprog- og lokaliseringsindstillinger og gå videre til at inkludere skalvariabler, som inkluderer alt. fra tilpasninger til bash-prompten, farvelagt ls-output og ændringer til terminalens udseende, til aliaser og meget mere.

Lad os gennemgå, hvordan man viser miljø- og shellvariabler, og derefter hvordan man indstiller og tilføjer nye miljøvariabler på kommandolinjen i Mac OS X. Vi dækker dette for både bash- og zsh-skaller.

Viser aktuelle miljø- og skalvariabler i bash på Mac OS X

For hurtigt at få en liste over miljøvariable, kan du bruge følgende kommando med bash:

printenv

For at angive miljøvariabler i zsh skal du bruge følgende kommando: env

Eller valgfrit:

echo $ENV_VAR

Hvis du vil se en komplet liste over shellvariabler, kan kommandoen 'set' også udsendes:

sæt

Udgangen af ​​disse kommandoer kan være langvarig, så du kan ønske at overføre outputtet gennem de færre eller flere kommandoer.

Indstilling af miljøvariabler i macOS-kommandolinje med zsh

Zsh-skallen indstiller miljøvariabler gennem zshenv-filen, der er placeret i brugerens hjemmemappe på:

~/.zshenv

Du kan således tilføje zsh miljøvariabler ved at ændre den fil med nano, vim osv. eller ved at bruge ekko som f.eks.:

echo 'eksport ENV_VAR=eksempel' >> ~/.zshenv

For eksempel:

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

Indstilling af miljøvariabler i Mac OS X-kommandolinje med bash

Fordi Mac'en som standard bruger bash shell, kan du indstille miljøvariabler i brugermapperne .bash_profile, for en aktiv brugerkonto findes stien til den fil på:

~/.bash_profile

Hvis du har ændret din shell, eller du ikke er sikker på, hvilken shell du bruger, kan du altid tjekke ved at udstede echo $SHELL kommandoen, som vil vise hvilken shell der er i brug. Vi vil antage, at du stadig bruger OS X standard bash shell, så vi tilføjer nye miljøvariabler ved at ændre .bash_profile med nano – du kan bruge vi, emacs eller en anden teksteditor, hvis du vil, men vi dækker nano for dets enkelhed.

Start med at åbne .bash_profile i nano-teksteditoren:

nano .bash_profile

Du kan tilføje miljøvariabler og skalvariabler på nye linjer, hvis der allerede er data i .bash_profile-filen, skal du blot sørge for at tilføje nye variabler til en ny tom linje ved at bruge piletasterne og returnøgle efter behov.

Lad os tage et eksempel og sige, at vi indstiller miljøvariablerne JAVA_HOME og JRE_HOME i .bash_profile ved at tilføje følgende til nye linjer i filen:

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

Ændringer og tilføjelser til miljøvariabler kræver, at shellen genstartes, eller at en ny shell opstår.

Indstilling af midlertidige miljøvariabler i OS X

Det er værd at nævne, at du også kan indstille midlertidige miljøvariabler i bash ved at bruge kommandoen 'eksport' alene, selvom disse kun vil vare ved, så længe den aktuelle bash-shell forbliver aktiv. For eksempel, hvis du vil tilføje en midlertidig sti til ~/bin/, kan du bruge følgende kommando:

eksport PATH=$PATH:~/bin

Igen, 'eksport'-kommandoen, der køres af sig selv og ikke er indeholdt i .bash_profile, vil kun være en midlertidig indstilling, og miljøvariablen vil ikke bestå, medmindre du føjer den til .bash_profile.

Hvis du rent faktisk søger at tilføje en ny PATH til brug, bør du næsten helt sikkert tilføje den til .bash_profile ved at placere den passende eksportkommando i filen.

For at gå videre end bash shell, hvis du ændrede din Terminal app standard shell væk fra bash til tcsh, zsh, sh, ksh, fish eller en af ​​de andre alternative skaller derude, har du simpelthen brug for for at ændre den passende profil eller rc-fil for den specifikke shell (.tschrc, .cshrc, .profile osv.).

Hvor skal miljøvariabler indstilles på Mac