Używam RHEL6 i wyeksportowałem zmienną środowiskową w następujący sposób:
export DISPLAY=:0
Ta zmienna jest tracona, gdy terminal jest zamknięty. Jak mogę dodać to na stałe, aby ta wartość zmiennej zawsze istniała dla określonego użytkownika?
Używam RHEL6 i wyeksportowałem zmienną środowiskową w następujący sposób:
export DISPLAY=:0
Ta zmienna jest tracona, gdy terminal jest zamknięty. Jak mogę dodać to na stałe, aby ta wartość zmiennej zawsze istniała dla określonego użytkownika?
Odpowiedzi:
Możesz dodać go do swojego pliku konfiguracyjnego powłoki, np. $HOME/.bashrc
Lub bardziej globalnie w /etc/environment
. Po dodaniu tych linii zmiany nie zostaną natychmiast odzwierciedlone w systemie opartym na GUI, musisz wyjść z terminala lub utworzyć nowy, a na serwerze wylogować się z sesji i zalogować, aby odzwierciedlić te zmiany.
source
np > source ~/.bashrc
. - .
export
, ale spróbuj z debugerem
Musisz edytować trzy pliki, aby ustawić stałą zmienną środowiskową w następujący sposób:
Zwykle musisz ponownie uruchomić komputer, aby zastosować te zmiany. Ale możesz zastosować zmiany w bashrc i profilu za pomocą tych poleceń:
$ source ~/.bashrc
$ source ~/.profile
Ale w przypadku / etc / environment nie masz innego wyboru, jak ponowne uruchomienie (o ile wiem)
#!/bin/bash
echo "Enter variable name: "
read variable_name
echo "Enter variable value: "
read variable_value
echo "adding " $variable_name " to environment variables: " $variable_value
echo "export "$variable_name"="$variable_value>>~/.bashrc
echo $variable_name"="$variable_value>>~/.profile
echo $variable_name"="$variable_value>>/etc/environment
source ~/.bashrc
source ~/.profile
echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"
read restart
case $restart in
y) sudo shutdown -r 0;;
n) echo "don't forget to restart your computer manually";;
esac
exit
Zapisz te linie w pliku shfile, a następnie nadaj mu plik wykonywalny i po prostu go uruchom!
chmod -x insert_var.sh
, potem bash insert_var.sh
. Dzięki.
W systemach Ubuntu użyj następujących lokalizacji:
Trwałe zmienne obejmujące cały system w formacie JAVA_PATH=/usr/local/java
magazynu
/etc/environment
Trwałe zmienne dla całego systemu, które odwołują się do zmiennych, takich jak
export PATH="$JAVA_PATH:$PATH"
przechowywanie w
/etc/.bashrc
Zmienne trwałe specyficzne dla użytkownika w formacie PATH DEFAULT=/usr/bin:usr/local/bin
przechowywania w
~/.pam_environment
Aby uzyskać więcej informacji na temat # 2, sprawdź odpowiedź Zapytaj Ubuntu . UWAGA: # 3 to zalecenie Ubuntu, ale może mieć obawy dotyczące bezpieczeństwa w świecie rzeczywistym.
Konkretny przykład: mam zainstalowaną Javę 7 i Javę 6, potrzebuję uruchomić niektóre kompilacje z 6, inne z 7. Dlatego muszę dynamicznie zmieniać JAVA_HOME
, aby maven wybierał to, czego chcę dla każdej kompilacji. Zrobiłem co następuje:
j6.sh
skrypt, który po prostu eksportuje JAVA_HOME=...
ścieżkę do instalacji j6 ...j6.sh
w tym odpowiednim terminalu poleceń. Domyślnie my JAVA_HOME
jest ustawione na J7.Mam nadzieję że to pomoże.
Jeśli komuś to odpowiada, oto kilka krótkich wskazówek dotyczących trwałego dodawania zmiennych środowiskowych.
vi ~/.bash_profile
Dodaj zmienne do pliku:
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
Natychmiast zastosuj wszystkie zmiany:
source ~/.bash_profile