Переменные изменяющей среды

Я просто изменил мой /etc/environment файл к:

M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
M2=$M2_HOME/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PATH=$M2:$PATH
JAVA_HOME=/usr/local/jdk1.6.0_45
PATH=$JAVA_HOME:$PATH

(пытающийся сделать что-то подобное этому)

Однако, когда я пытался проверить переменные среды путем ввода, например echo "$M2", результатом является пустая строка для всех переменных, и $PATH совпадает с прежде, чем отредактировать файл. Почему мои изменения не работали? Я пытался закрыть и открыть оболочку, но ничего не происходит.

3
задан 13 April 2017 в 15:23

2 ответа

/etc/environment берет надлежащий перевход в систему для вступления в силу, потому что он обрабатывается PAM при входе в систему. Далее, как @przemo отмеченный, это не выполнено или получено как сценарий, таким образом, переменные не расширены. Поместите такие переменные в .sh файл в /etc/profile.d/:

sudo tee -a /etc/profile.d/my_vars.sh <<"EOF"
export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export JAVA_HOME=/usr/local/jdk1.6.0_45
export PATH=$JAVA_HOME:$PATH
EOF

Это также возьмет перевход в систему для вступания в полную силу, но можно сразу проверить ее путем выполнения оболочки входа в систему:

$ bash -l
$ echo $PATH
/usr/local/jdk1.6.0_45:/usr/local/apache-maven/apache-maven-3.1.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

, Поскольку Gunnar указал, присвоение по умолчанию на PATH должно остаться в /etc/environment и не должно быть добавлено к вышеупомянутому сценарию. См. это сообщество страница Wiki для получения дополнительной информации.

3
ответ дан 1 December 2019 в 15:38

/etc/environment не файл сценария, Вы не можете использовать переменные для дополнительных материалов для чтения, которые я рекомендую https://help.ubuntu.com/community/EnvironmentVariables

2
ответ дан 1 December 2019 в 15:38

Другие вопросы по тегам:

Похожие вопросы: