Hvor skal miljøvariabler indstilles på Mac
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.).