Где хранятся переменые среды в Linux?
Где хранятся переменные среды в Linux, если точнее, в Kali Linux?
Более конкретный вопрос, как мне удалить переменную _JAVA_OPTIONS, которая выскакивает всякий раз, когда я использую программы, связанные с явой, с этой своей строчкой
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true?
Я могу, конечно, написать unset _JAVA_OPTIONS в файле .bashrc, но это решение костыльное, и оно мне не нравится.
Ответы (2 шт):
Если кратко - везде. Но есть основные места. Глобальные хранятся в папке /etc. Я обычно в этом случае делаю grep _JAVA_OPTIONS /etc -r и смотрю.
Второе - это в домашнем каталоге в .bashrc, .bash_profile или других файлах, если используется не баш. Но стратегия поиска та же.
Но править ручками каталог /env может быть опасно (можно и систему сломать). Именно для этого и придумали локальный профиль.
Поэтому
Я могу, конечно, написать unset _JAVA_OPTIONS в файле .bashrc, но это решение костыльное, и оно мне не нравится.
как по мне, отличное решение.
Я могу, конечно, написать unset _JAVA_OPTIONS в файле .bashrc, но это решение костыльное, и оно мне не нравится.
Есть другие способы удаления переменной окружения, выбирайте на свой вкус.
Для примера создадим скрипт test.sh (и еще chmod +x test.sh) который будет выводить все переменные окружения:
#!/bin/bash
env
Теперь попробуем удалить переменную PAGER, в вашем случая она будет _JAVA_OPTIONS.
./test.sh | grep PAGER 1 ↵
PAGER=less
Переменная есть
Удаление одной переменной
env -uPAGER ./test.sh | grep PAGER
(пусто)
Полное удаление переменных
env -i ./test.sh | grep PAGER
(пусто)
Переменной нет. А также и других переменных окружения
Пустое значение
PAGER= ./test.sh | grep PAGER
PAGER=
Переменная пустая