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/.bashrcLub 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.
sourcenp > 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/javamagazynu
/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/binprzechowywania 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.shskrypt, który po prostu eksportuje JAVA_HOME=...ścieżkę do instalacji j6 ...j6.shw tym odpowiednim terminalu poleceń. Domyślnie my JAVA_HOMEjest 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