В RHEL 6.7 я добавил файл / etc / environment:
JAVA_HOME="/opt/jdk1.8.0_91"
JRE_HOME="{JAVA_HOME}/jre"
M2_HOME="/usr/local/apache-maven"
M2="{M2_HOME}/bin"
PATH="{JAVA_HOME}/bin:{JRE_HOME}/bin:{M2}:{PATH}"
Теперь при входе в систему bash выдает следующие ошибки:
-bash: id: command not found
-bash: id: command not found
-bash: id: command not found
-bash: uname: command not found
Удаление или переименование / etc / environment решает проблему.
Примечание: я не хочу использовать / etc / profile, потому что хочу, чтобы эти настройки были доступны для неинтерактивных оболочек.
/etc/environment
не выполняет раскрытие переменных. Таким образом, ваш PATH
сейчас буквально {JAVA_HOME}/bin:{JRE_HOME}/bin:{M2}:{PATH}
, что, конечно, не сработает.
Если вы используете bash
только, вы можете изучить настройку $BASH_ENV
в /etc/environment
вот так:
BASH_ENV=/etc/non-inter-test
где /etc/non-inter-test
затем читается и выполняется неинтерактивными оболочками (и только этими, поэтому вы должны ссылаться на тот же файл в /etc/profile
для интерактивных оболочек) и может содержать то, что сейчас находится в вашем /etc/environment
.