Kde nastaviť premenné prostredia na Macu
Na príkazovom riadku sú premenné prostredia definované pre aktuálny shell a dedia sa akýmkoľvek spusteným príkazom alebo procesom. Môžu určiť čokoľvek od predvoleného shellu, PATH, domovského adresára používateľov až po typ emulácie terminálu, aktuálny pracovný adresár, kde sa nachádza súbor histórie, nastavenia jazyka a lokalizácie a ísť ďalej a zahrnúť premenné shellu, ktoré zahŕňajú všetko. od prispôsobení až po výzvu bash, farebný výstup ls a zmeny vzhľadu terminálu, aliasov a oveľa viac.
Prejdime si, ako vypísať premenné prostredia a shellu a potom ako nastaviť a pridať nové premenné prostredia v príkazovom riadku Mac OS X. Pokryjeme to pre shell bash aj zsh.
Zobrazenie premenných aktuálneho prostredia a prostredia v bash na Mac OS X
Ak chcete rýchlo získať zoznam premenných prostredia, môžete použiť nasledujúci príkaz s bash:
printenv
Na zoznam premenných prostredia v zsh použite nasledujúci príkaz: env
Alebo voliteľne:
echo $ENV_VAR
Ak chcete vidieť úplný zoznam premenných shellu, môžete zadať aj príkaz 'set':
set
Výstup týchto príkazov môže byť zdĺhavý, takže možno budete chcieť preniesť výstup cez menej alebo viac príkazov.
Nastavenie premenných prostredia v príkazovom riadku systému macOS pomocou zsh
Shell zsh nastavuje premenné prostredia prostredníctvom súboru zshenv, ktorý sa nachádza v domovskom adresári používateľov na adrese:
~/.zshenv
Môžete teda pridať premenné prostredia zsh úpravou tohto súboru pomocou nano, vim atď., alebo pomocou echo, ako je toto:
echo 'export ENV_VAR=example' >> ~/.zshenv
Napríklad:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Nastavenie premenných prostredia v príkazovom riadku Mac OS X pomocou bash
Keďže Mac predvolene používa bash shell, môžete nastaviť premenné prostredia v používateľských adresároch .bash_profile, pre aktívny používateľský účet je cesta k tomuto súboru umiestnená na:
~/.bash_profile
Ak ste zmenili svoj shell alebo si nie ste istí, aký shell používate, môžete to kedykoľvek skontrolovať zadaním príkazu echo $SHELL, ktorý zobrazí, ktorý shell sa používa. Budeme predpokladať, že stále používate predvolený bash shell OS X, a preto pridáme nové premenné prostredia úpravou .bash_profile pomocou nano – môžete použiť vi, emacs alebo iný textový editor, ak chcete, ale my sa budeme zaoberať nano pre jeho jednoduchosť.
Začnite otvorením .bash_profile v textovom editore nano:
nano .bash_profile
Môžete pridať premenné prostredia a premenné shellu do nových riadkov, ak už sú v súbore .bash_profile údaje, nezabudnite pridať nové premenné na nový prázdny riadok pomocou klávesov so šípkami a návratový kľúč podľa potreby.
Vezmime si príklad a povedzme, že nastavíme premenné prostredia JAVA_HOME a JRE_HOME v rámci súboru .bash_profile pridaním nasledujúceho do nových riadkov súboru:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Za predpokladu, že sme už skončili, uložte zmeny vykonané v .bash_profile stlačením Ctrl+o (to je o ako vo vydra), potom ukončite nano stlačením Ctrl+X
Zmeny a doplnenia environmentálnych premenných budú vyžadovať reštart shellu alebo vytvorenie nového shellu.
Nastavenie dočasných premenných prostredia v OS X
Stojí za zmienku, že dočasné premenné prostredia môžete v bash nastaviť aj pomocou samotného príkazu „export“, aj keď tieto budú pretrvávať len dovtedy, kým zostane aktívny aktuálny shell bash. Napríklad, ak chcete pridať dočasnú cestu do ~/bin/, môžete použiť nasledujúci príkaz:
export PATH=$PATH:~/bin
Opäť, príkaz 'export', ktorý sa spustí sám o sebe a nie je obsiahnutý v .bash_profile, bude len dočasné nastavenie a premenná prostredia nezostane, pokiaľ ju nepridáte do .bash_profile.
Ak skutočne hľadáte pridať novú PATH na použitie, takmer určite by ste ju mali pridať do .bash_profile umiestnením príslušného exportného príkazu do súboru.
Ak ste prekročili rámec bash shell, ak ste zmenili predvolený shell aplikácie Terminal z bash na tcsh, zsh, sh, ksh, fish alebo akýkoľvek iný alternatívny shell, budete jednoducho potrebovať upraviť príslušný profil alebo súbor rc pre konkrétny shell (.tschrc, .cshrc, .profile atď.).