Kam nastaviti spremenljivke okolja v Macu
V ukazni vrstici so okoljske spremenljivke definirane za trenutno ukazno lupino in jih podeduje vsak ukaz ali proces, ki se izvaja. Določijo lahko kar koli, od privzete lupine, PATH, domačega imenika uporabnikov do vrste emulacije terminala, trenutnega delovnega imenika, kjer se nahaja datoteka zgodovine, jezikovnih in lokalizacijskih nastavitev ter vključitev spremenljivk lupine, ki vključujejo vse od prilagoditev do poziva bash, barvnega izpisa ls in sprememb videza terminala, vzdevkov in še veliko več.
Poglejmo, kako našteti spremenljivke okolja in lupine ter kako nastaviti in dodati nove spremenljivke okolja v ukazni vrstici Mac OS X. To bomo obravnavali tako za lupine bash kot zsh.
Prikaz trenutnega okolja in spremenljivk lupine v bash v sistemu Mac OS X
Za hitro dobitev seznama okoljskih spremenljivk, lahko uporabite naslednji ukaz z bash:
printenv
Za seznam okoljskih spremenljivk v zsh uporabite naslednji ukaz: env
Ali neobvezno:
echo $ENV_VAR
Če želite videti celoten seznam spremenljivk lupine, lahko izdate tudi ukaz 'set':
set
Izhod teh ukazov je lahko dolg, zato boste morda želeli izhod napeljati skozi ukaze manj ali več.
Nastavitev okoljskih spremenljivk v ukazni vrstici macOS z zsh
Lupina zsh nastavi okoljske spremenljivke prek datoteke zshenv, ki se nahaja v domačem imeniku uporabnikov na:
~/.zshenv
Tako lahko dodate okoljske spremenljivke zsh tako, da spremenite to datoteko z nano, vim, itd., ali z uporabo echo na naslednji način:
echo 'export ENV_VAR=example' >> ~/.zshenv
Na primer:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Nastavitev okoljskih spremenljivk v ukazni vrstici Mac OS X z bash
Ker Mac privzeto uporablja lupino bash, lahko nastavite okoljske spremenljivke v uporabniških imenikih .bash_profile, za aktiven uporabniški račun se pot do te datoteke nahaja na:
~/.bash_profile
Če ste spremenili lupino ali niste prepričani, katero lupino uporabljate, lahko vedno preverite tako, da izdate ukaz echo $SHELL, ki bo prikazal, katera lupina je v uporabi. Predpostavili bomo, da še vedno uporabljate privzeto lupino bash OS X, zato bomo dodali nove spremenljivke okolja tako, da bomo spremenili .bash_profile z nano – lahko uporabite vi, emacs ali drug urejevalnik besedil, če želite, vendar bomo obravnavali nano zaradi enostavnosti.
Začnite tako, da odprete .bash_profile v nano urejevalniku besedil:
nano .bash_profile
V nove vrstice lahko dodate spremenljivke okolja in spremenljivke ukazne lupine, če že obstajajo podatki v datoteki .bash_profile, le ne pozabite dodati novih spremenljivk v novo prazno vrstico z uporabo puščičnih tipk in po potrebi vrni ključ.
Vzemimo primer in recimo, da bomo nastavili okoljski spremenljivki JAVA_HOME in JRE_HOME znotraj .bash_profile tako, da bomo v nove vrstice datoteke dodali naslednje:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Ob predpostavki, da smo končali, shranite spremembe v .bash_profile tako, da pritisnete Control+o (to je o kot v otter), nato pa zapustite nano s pritiskom Control+X
Spremembe in dodatki spremenljivk okolja bodo zahtevali ponovni zagon lupine ali ustvarjanje nove lupine.
Nastavitev začasnih okoljskih spremenljivk v OS X
Omeniti je treba, da lahko nastavite tudi začasne okoljske spremenljivke v bash z uporabo samega ukaza 'export', čeprav bodo te vztrajale le toliko časa, dokler bo trenutna lupina bash aktivna. Na primer, če želite dodati začasno pot v ~/bin/, lahko uporabite naslednji ukaz:
export PATH=$PATH:~/bin
Ponavljam, ukaz 'export', ki se zažene sam in ni vsebovan v .bash_profile, bo samo začasna nastavitev in spremenljivka okolja ne bo obstajala, razen če je dodate v .bash_profile.
Če dejansko želite dodati novo POT za uporabo, jo skoraj zagotovo dodajte v .bash_profile tako, da v datoteko vnesete ustrezen izvozni ukaz.
Če presežete lupino bash, če ste spremenili privzeto lupino aplikacije Terminal iz bash v tcsh, zsh, sh, ksh, fish ali katero koli drugo nadomestno lupino, boste preprosto potrebovali da spremenite ustrezen profil ali datoteko rc za določeno lupino (.tschrc, .cshrc, .profile itd.).