為什麼要分配export LD_LIBRARY_PATH=:

為什麼要分配export LD_LIBRARY_PATH=:

我知道

export LD_LIBRARY_PATH=xxxxx

將讓核心在此路徑中搜尋目標庫。

但為什麼要分配為':'

export LD_LIBRARY_PATH=:

有什麼作用呢?如果 .so 在目前路徑中則有效。

對了,我們分隔路徑的時候,不該用「;」嗎? ?

前任:

export LD_LIBRARY_PATH=foo1;foo2

答案1

LD_LIBRARY_PATH 由動態連結器而不是核心使用。動態連結器的名稱各不相同,但類似於 /lib64/ld-linux-x86-64.so.2。

它由 記錄man ld.so。在我的系統上它說

LD_LIBRARY_PATH
          A list of directories in which to search for ELF libraries at execution
          time.  The items in the list are separated by either colons or
          semicolons, and there is no support for escaping either separator.

使用冒號的一個小優點是不需要引號,因為它;是 shell 的特殊字元。它也同意在 PATH 變數的值中使用冒號。

至於為什麼LD_LIBRARY_PATH=:,我建議買一本更好的書或指南。

相關內容