LINUX.ORG.RU
 ~ $ export LD_LIBRARY_PATH=/path/to/something
 ~ $ echo ${LD_LIBRARY_PATH}
/path/to/something
 ~ $ unset LD_LIBRARY_PATH                   
 ~ $ echo ${LD_LIBRARY_PATH}                  
 ~ $
Deleted
()

Потому что переменные окружения наследуются, но не наоборот.

anonymous
()

У каждого процесса своё окружение (свой набор и свои значения переменных окружения). Кроме того, любой процесс может менять непосредственно только своё окружение (обычно окружение наследуется дочерними процессами, но опять же, после того, как процесс запустился, поменять его окружение может только он сам).

Когда ты в шелле меняешь значение переменных окружения (кстати, это делается через export, иначе ты меняешь только переменную шелла, которая не наследуется никак и видна только самому шеллу), они меняются только для тех процессов, которые будут запущены в этом самом шелле.

Возвращаясь к твоему изначальному вопросу: вероятно, LD_LIBRARY_PATH у тебя прописана где-нибудь в bashrc, либо в настройках сессии пользователя (зависит от DE), либо где-то в системных настройках (например, в /etc/environment). grep тебе поможет найти, где именно.

tiandrey ★★★★★
()
Ответ на: комментарий от tiandrey

кстати, это делается через export, иначе ты меняешь только переменную шелла, которая не наследуется никак и видна только самому шеллу

Не так. Если переменная уже пришла как переменная окружения, то она по умолчанию имеет атрибут export.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.