Где хранятся переменые среды в Linux?

Где хранятся переменные среды в Linux, если точнее, в Kali Linux?

Более конкретный вопрос, как мне удалить переменную _JAVA_OPTIONS, которая выскакивает всякий раз, когда я использую программы, связанные с явой, с этой своей строчкой
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true?
Я могу, конечно, написать unset _JAVA_OPTIONS в файле .bashrc, но это решение костыльное, и оно мне не нравится.


Ответы (2 шт):

Автор решения: KoVadim

Если кратко - везде. Но есть основные места. Глобальные хранятся в папке /etc. Я обычно в этом случае делаю grep _JAVA_OPTIONS /etc -r и смотрю.

Второе - это в домашнем каталоге в .bashrc, .bash_profile или других файлах, если используется не баш. Но стратегия поиска та же.

Но править ручками каталог /env может быть опасно (можно и систему сломать). Именно для этого и придумали локальный профиль.

Поэтому

Я могу, конечно, написать unset _JAVA_OPTIONS в файле .bashrc, но это решение костыльное, и оно мне не нравится.

как по мне, отличное решение.

→ Ссылка
Автор решения: Total Pusher

Я могу, конечно, написать 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=

Переменная пустая

→ Ссылка