设置加载路径最简单的方法是通过环境变量
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_PATH
Bash 没有内置环境变量呢?
答案1
LD_LIBRARY_PATH
不被 shell 使用,它被动态链接器使用。看man ld.so
了解详情。
如果您不导出它,链接器将看不到它并且无法对其进行操作。