为什么“LD_LIBRARY_PATH”不是 Bash 的内置环境变量?

为什么“LD_LIBRARY_PATH”不是 Bash 的内置环境变量?

海湾合作委员会简介

设置加载路径最简单的方法是通过环境变量LD_LIBRARY_PATH。例如,以下命令将加载路径设置为/opt/gdbm-1.8.3/lib以便libgdbm.so可以找到:

$ LD_LIBRARY_PATH=/opt/gdbm-1.8.3/lib
$ export LD_LIBRARY_PATH
$ ./a.out
Storing key-value pair... done.

LD_LIBRARY_PATH这不是 Bash 的内置环境变量,对吗?否则,就没有必要export

Bash shell 用于PATH定位外部程序,PATH是 Bash 的内置环境变量。

Bash shell 用于LD_LIBRARY_PATH定位程序运行所依赖的共享库,那么为什么LD_LIBRARY_PATHBash 没有内置环境变量呢?

答案1

LD_LIBRARY_PATH不被 shell 使用,它被动态链接器使用。看man ld.so了解详情。

如果您不导出它,链接器将看不到它并且无法对其进行操作。

相关内容