У мене працює RHEL6, і я експортував змінну середовища на зразок цієї:
export DISPLAY=:0
Ця змінна втрачається, коли термінал закритий. Як я постійно додаю це, щоб це значення змінної завжди існувало у конкретного користувача?
У мене працює RHEL6, і я експортував змінну середовища на зразок цієї:
export DISPLAY=:0
Ця змінна втрачається, коли термінал закритий. Як я постійно додаю це, щоб це значення змінної завжди існувало у конкретного користувача?
Відповіді:
Ви можете додати його до файлу конфігурації оболонки, наприклад, $HOME/.bashrcабо в усьому світі /etc/environment. Після додавання цих рядків зміни не відобразяться миттєво в системі, заснованій на GUI, вам доведеться вийти з терміналу або створити новий і вийти з сеансу та увійти в систему, щоб відобразити ці зміни.
sourceнаприклад, - > source ~/.bashrc.
export, але спробуйте з налагоджувачем
Вам потрібно відредагувати три файли, щоб встановити постійну змінну середовища таким чином:
Зазвичай вам потрібно перезавантажити комп’ютер, щоб застосувати ці зміни. Але ви можете застосувати зміни до bashrc та профілю за допомогою цих команд:
$ source ~/.bashrc
$ source ~/.profile
Але для / etc / Environment у вас немає іншого вибору, крім перезавантаження (наскільки я знаю)
#!/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
Збережіть ці рядки в shfile, потім зробіть його виконуваним і просто запустіть його!
chmod -x insert_var.sh, потім bash insert_var.sh. Дякую.
У системах Ubuntu використовуйте такі місця:
Загальносистемні стійкі змінні у форматі JAVA_PATH=/usr/local/javaзберігання в
/etc/environment
Стійкі загальносистемні змінні, на які посилаються змінні, такі як
export PATH="$JAVA_PATH:$PATH"зберігати в
/etc/.bashrc
Постійні змінні специфічні змінні у форматі PATH DEFAULT=/usr/bin:usr/local/binзберігання в
~/.pam_environment
Для отримання більш детальної інформації про номер 2, перевірте цю відповідь на запитання Ubuntu . ПРИМІТКА: №3 - рекомендація Ubuntu, але може мати проблеми з безпекою в реальному світі.
Конкретний приклад: у мене встановлені Java 7 і Java 6, мені потрібно запустити деякі збірки з 6, інші - з 7. Тому мені потрібно динамічно змінювати, JAVA_HOMEщоб Maven підбирав те, що я хочу для кожної збірки. Я зробив наступне:
j6.shсценарій, який просто робить JAVA_HOME=...шлях експорту до встановлення j6 ...j6.shу відповідному командному терміналі. За замовчуванням моє JAVA_HOMEзначення встановлено на J7.Сподіваюся, це допомагає.
Якщо це підходить будь-кому, ось кілька коротких вказівок щодо постійного додавання змінних середовища.
vi ~/.bash_profile
Додайте змінні у файл:
export DISPLAY=:0
export JAVA_HOME=~/opt/openjdk11
Негайно застосуйте всі зміни:
source ~/.bash_profile