Odpowiedzi:
Pierwszym miejscem, w którym ustawiona jest PATH, jest /etc/login.defs
. Jest ustawienie dla roota i ustawienie dla wszystkich innych.
Innym miejscem, w którym można zdefiniować zmienne środowiskowe, jest /etc/environment
. Te ustawienia będą miały zastosowanie do wszystkich (nie można tam pisać dowolnego kodu powłoki).
Trzecie miejsce, w którym można zdefiniować zmienne środowiskowe, to /etc/profile
. Tam możesz napisać dowolny kod powłoki. Jeśli potrzebujesz ustawienia specyficznego dla użytkownika, istnieje odpowiedni plik dla użytkownika ~www-data/.profile
. Dotyczy to jednak tylko interaktywnych loginów konsoli; w szczególności nie będzie miało zastosowania do zadań cron, chyba że jawnie je pozyskają /etc/profile
.
Jeśli potrzebujesz tylko tego PATH
ustawienia w crontab użytkownika, możesz zapisać je na początku crontab. Zauważ, że potrzebujesz pełnej listy ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
), nie możesz użyć podstawienia zmiennej ( PATH=$PATH:/usr/local/zend/bin
nie będzie tam działać).
/etc/login.defs
które zostaną zignorowane? Zaktualizowałem ENV_PATH
i echo $ PATH po załadowaniu .bashrc. Gdzieś w środku albo się zmienia, albo nie jest aktualizowany, ponieważ wyświetla starą wartość. Uruchomiłem ponownie komputer - więc to nie tak.
PATH
w uzupełnieniu lub w zamian innych sposobów.
Aby ustawić ścieżkę dla wszystkich użytkowników oprócz root, edit /etc/profile
lub /etc/enviroment
. Dla użytkownika root lub indywidualnego użytkownika edytuj odpowiednio ich .bashrc
lub .bash_profile
w ich katalogach domowych. Dodaj PATH=$PATH:/new/location/
.
Aby po prostu ustawić var dla wszystkich użytkowników bez obciążania profile
, możesz dodać własny mały skrypt w /etc/profile.d
katalogu w ten sposób:
echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
Następnie ponownie się zaloguj.
nano / etc / profile
Dodaj tę linię na końcu pliku:
eksportuj JAVA_HOME = / opt / jdk-12.0.1
export MAVEN_HOME = / opt / apache-maven-3.6.1
eksport M2_HOME = / opt / apache-maven-3.6.1
eksport M2 = / opt / apache-maven-3.6.1 / bin
eksport PATH = $ JAVA_HOME / bin: $ M2: $ PATH
Zapisz plik. Uruchom ponownie lub użyj poniższego polecenia:
źródło / etc / profile
Sprawdź swoje ustawienia:
echo $ JAVA_HOME
javac --version