設定載入路徑最簡單的方法是透過環境變數
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
了解詳情。
如果不導出它,連結器將看不到它並且無法對其進行操作。