알아요
export LD_LIBRARY_PATH=xxxxx
커널이 이 경로에서 대상 lib를 검색하도록 합니다.
그런데 왜 그것을 다음과 같이 할당합니까?':'
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=:
는 더 나은 책이나 가이드를 구하는 것이 좋습니다.