при добавлении env varialbes вроде:
экспорт JAVA_HOME =/usr/java/skd/bin
где это хранится, если я хочу изменить его позже? это где-то файл?
при добавлении env varialbes вроде:
экспорт JAVA_HOME =/usr/java/skd/bin
где это хранится, если я хочу изменить его позже? это где-то файл?
При экспорте переменной среды она не сохраняется ни в какой энергонезависимой памяти, такой как жесткий диск или что-то подобное. Он запоминается только оболочкой, более того, только в той оболочке, в которой вы запускали эту команду, либо вручную, либо с помощью скрипта. Таким образом, ответ на ваш первый вопрос может быть «он хранится только в памяти, локальной для запущенной оболочки». Конечно, все, что вы запустите из оболочки, унаследует ее среду.
Если вы хотите изменить значение переменной среды, просто запустите export
снова с тем же именем переменной, как export JAVA_HOME=/usr/other_java/bin
.
Как отмечал taspeotis , если вы хотите, чтобы переменная окружения восстанавливалась в каждом приложении, запущенном без необходимости вводить его вручную, вы можете использовать ~/.MacOSX/environment.plist
.
Если вы хотите, чтобы он был установлен только в окнах терминала, вы можете добавить команду export
(как если бы вы вводили ее в оболочку) в конец файла ~/.bashrc
(оболочка расширяется до ~
вашего домашнего каталога).
где это хранится, если я хочу изменить его позже?
Что вы имеете в виду редактировать это позже? Экспортируйте это снова. Не должно иметь значения, где оно хранится, я думаю, что реализация может зависеть от оболочки, возможно, оболочка выполняет кэширование переменных. Может быть, это не так. В любом случае, вы можете читать и записывать переменные окружения в оболочке, поэтому я не могу представить, зачем вам нужен этот файл.
export KEY=VALUE1
...
export KEY=VALUE2
Для записи файл ~/.MacOSX/environment.plist
, как здесь.