Почему LD_LIBRARY_PATH не является встроенной переменной среды Bash?

Из Введение в GCC :

Самый простой способ установить путь загрузки - через окружающую среду переменная LD_LIBRARY_PATH . Например, следующие команды устанавливают путь загрузки к /opt/gdbm-1.8.3/lib , так что libgdbm.so может быть найдено:

 $ LD_LIBRARY_PATH = / opt / gdbm-1.8.3 / lib
$ экспорт LD_LIBRARY_PATH
$ ./a.out
Сохранение пары "ключ-значение" ... готово.

Верно ли, что LD_LIBRARY_PATH не является встроенной переменной среды Bash? В противном случае нет необходимости экспортировать его.

Оболочка Bash использует PATH для поиска внешней программы, а PATH - встроенная переменная среды Bash.

Оболочка Bash использует LD_LIBRARY_PATH для определения общих библиотек, запускаемых программой, так почему же LD_LIBRARY_PATH не является встроенной переменной среды Bash?

-2
23.05.2017, 11:25
1 ответ

LD_LIBRARY_PATH не используется оболочкой, он используется динамическим компоновщиком. Подробности см. в man ld.so .

Если вы не экспортируете его, компоновщик его не увидит и не сможет с ним воздействовать.

10
28.01.2020, 05:14

Теги

Похожие вопросы