Bash

為什麼分配導出 LD_LIBRARY_PATH=:

  • April 10, 2020

我知道

export LD_LIBRARY_PATH=xxxxx

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

但為什麼將其分配為**’:’**

export LD_LIBRARY_PATH=:

有什麼功能?如果 .so 在目前路徑中,它可以工作。

順便說一句,當我們分開路徑時,我們不應該使用’;’ ?

前任:

export LD_LIBRARY_PATH=foo1;foo2

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=:,我建議買一本更好的書或指南。

引用自:https://unix.stackexchange.com/questions/579081