Gdzie ustawić zmienne środowiskowe na komputerze Mac
W wierszu poleceń zmienne środowiskowe są definiowane dla bieżącej powłoki i są dziedziczone przez dowolne uruchomione polecenie lub proces. Mogą określić wszystko, od domyślnej powłoki, PATH, katalogu domowego użytkownika, do typu emulacji terminala, bieżącego katalogu roboczego, w którym znajduje się plik historii, ustawień języka i lokalizacji, a idąc dalej, obejmują zmienne powłoki, które obejmują wszystko od dostosowań po znak zachęty bash, kolorowe dane wyjściowe ls i zmiany w wyglądzie terminala, aliasy i wiele więcej.
Omówimy, jak wyświetlić listę zmiennych środowiskowych i powłoki, a następnie jak ustawić i dodać nowe zmienne środowiskowe w wierszu poleceń systemu Mac OS X. Omówimy to zarówno dla powłok bash, jak i zsh.
Wyświetlanie bieżących zmiennych środowiska i powłoki w bashu w systemie Mac OS X
Aby szybko uzyskać listę zmiennych środowiskowych, możesz użyć następującego polecenia z bashem:
printenv
Aby wyświetlić listę zmiennych środowiskowych w zsh, użyj następującego polecenia: env
Lub opcjonalnie:
echo $ENV_VAR
Jeśli chcesz zobaczyć pełną listę zmiennych powłoki, możesz również wydać polecenie 'set':
ustawić
Dane wyjściowe tych poleceń mogą być długie, więc możesz chcieć potokować dane wyjściowe przez mniej lub więcej poleceń.
Ustawianie zmiennych środowiskowych w wierszu poleceń macOS za pomocą zsh
Powłoka zsh ustawia zmienne środowiskowe za pośrednictwem pliku zshenv znajdującego się w katalogu domowym użytkownika pod adresem:
~/.zshenv
W ten sposób możesz dodać zmienne środowiskowe zsh, modyfikując ten plik za pomocą nano, vim itp. lub używając echo w następujący sposób:
echo 'export ENV_VAR=example' >> ~/.zshenv
Na przykład:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Ustawianie zmiennych środowiskowych w wierszu poleceń Mac OS X za pomocą bash
Ponieważ Mac domyślnie używa powłoki bash, możesz ustawić zmienne środowiskowe w katalogach użytkownika .bash_profile, dla aktywnego konta użytkownika ścieżka do tego pliku znajduje się pod adresem:
~/.bash_profile
Jeśli zmieniłeś powłokę lub nie jesteś pewien, której powłoki używasz, zawsze możesz to sprawdzić, wydając polecenie echo $SHELL, które wyświetli, która powłoka jest używana. Zakładamy, że nadal używasz domyślnej powłoki bash OS X, dlatego dodamy nowe zmienne środowiskowe, modyfikując .bash_profile za pomocą nano – możesz użyć vi, emacsa lub innego edytora tekstu, jeśli chcesz, ale zajmiemy się nano ze względu na jego prostotę.
Rozpocznij od otwarcia pliku .bash_profile w edytorze tekstu nano:
nano .bash_profile
Możesz dodać zmienne środowiskowe i zmienne powłoki do nowych linii, jeśli w pliku .bash_profile są już dane, po prostu pamiętaj, aby dodać nowe zmienne do nowej pustej linii za pomocą klawiszy strzałek i klawisz powrotu w razie potrzeby.
Weźmy przykład i powiedzmy, że zamierzamy ustawić zmienne środowiskowe JAVA_HOME i JRE_HOME w .bash_profile, dodając następujące wiersze w pliku:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Zakładając, że już skończyliśmy, zapisz zmiany wprowadzone w .bash_profile, naciskając Control+o (to o jak w wydrze), a następnie wyjdź z nano, naciskając Control+X
Zmiany i uzupełnienia zmiennych środowiskowych będą wymagały ponownego uruchomienia powłoki lub pojawienia się nowej powłoki.
Ustawianie tymczasowych zmiennych środowiskowych w systemie OS X
Warto wspomnieć, że możesz również ustawić tymczasowe zmienne środowiskowe w bash, używając samego polecenia „export”, chociaż będą one obowiązywać tylko tak długo, jak długo bieżąca powłoka bash pozostaje aktywna. Na przykład, jeśli chcesz dodać tymczasową ścieżkę do ~/bin/, możesz użyć następującego polecenia:
export PATH=$PATH:~/bin
Znowu polecenie „export” uruchamiane samodzielnie i niezawarte w .bash_profile będzie tylko ustawieniem tymczasowym, a zmienna środowiskowa nie będzie trwała, chyba że dodasz ją do .bash_profile.
Jeśli naprawdę chcesz dodać nową ŚCIEŻKĘ do użycia, prawie na pewno powinieneś dodać ją do .bash_profile, umieszczając odpowiednie polecenie eksportu w pliku.
Wykraczając poza powłokę bash, jeśli zmieniłeś domyślną powłokę aplikacji Terminal z bash na tcsh, zsh, sh, ksh, fish lub dowolną inną alternatywną powłokę, będziesz po prostu potrzebować aby zmodyfikować odpowiedni profil lub plik rc dla tej konkretnej powłoki (.tschrc, .cshrc, .profile itp.).