Как установить переменные среды сеанса и PATH?
Я видел, что другие люди в Интернете также сталкивались с этой проблемой, но решения не были окончательными, поэтому я хотел снова обратить на это внимание.
Согласно этой странице в вики Ubuntu: https://help.ubuntu.com/community/EnvironmentVariables рекомендуемый способ установки переменных среды всего сеанса - изменить ~/.pam_environment.
Вот какова моя цель:
- Я хочу создать переменную среды ANDROID_HOME, в которой в качестве значения будет указан путь к определенному месту в моей домашней папке.
- Я хочу добавить две папки в PATH.
Вот что я сделал. Файл ~ /.pam_environment не существует, поэтому я создал его и добавил в него следующие строки:
ANDROID_HOME=${HOME}/Android/Sdk
PATH DEFAULT=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
Выйти из системы и войти снова.
Результат не ожидается. Я открыл терминал и повторил $ ANDROID_HOME, и вот что я получил:
${HOME}/Android/Sdk
Выглядит как ${HOME}
не заменяется на путь к моей домашней папке. Почему это так?
соблюдать cd
-ing в $ANDROID_HOME (Android/Sdk действительно существует в моей домашней папке):
anvar@crazymachine:~$ cd $ANDROID_HOME
bash: cd: ${HOME}/Android/Sdk: No such file or directory
Также повторение $PATH дало мне это:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:${HOME}/Android/Sdk/tools:${HOME}/Android/Sdk/platform-tools
Почему переменные, не замещенные их значениями, логично предположить, особенно когда пример на вышеупомянутом сайте создает такое впечатление, что переменные могут использоваться внутри значений?
Как правильно установить переменные среды всего сеанса, к которым также имеют доступ программы GUI?
3 ответа
Пример в вики, для установки переменных сессии через ~/.pam_environment
, говорится в записке:
Синтаксис, используемый для изменения PATH, синтаксис которого отличается от файлов сценариев, необходим для работы расширения переменных.
Следовательно, ваш первый ряд должен выглядеть так:
ANDROID_HOME DEFAULT=${HOME}/Android/Sdk
Два предложения:
1-й - форма ваших экологических заявлений должна быть:
ANDROID_HOME=$HOME/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
во-вторых, поместите ваши новые заявления о среде в ~/.profile
Я думаю, что вам может понадобиться export HOME
после настройки переменной пути (в ~/.bashrc мы это делаем)