Зачем назначать экспорт LD_LIBRARY_PATH=:

Зачем назначать экспорт 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.

Использование двоеточия имеет небольшое преимущество, так как не требует кавычек, так как ;это специальный символ для оболочки. Это также согласуется с использованием двоеточия в значении переменной PATH.

Что касается причин LD_LIBRARY_PATH=:, я предлагаю вам приобрести лучшую книгу или руководство.

Связанный контент