"LD_LIBRARY_PATH"가 Bash의 내장 환경 변수가 아닌 이유는 무엇입니까?

"LD_LIBRARY_PATH"가 Bash의 내장 환경 변수가 아닌 이유는 무엇입니까?

~에서걸프협력회의 소개:

로드 경로를 설정하는 가장 쉬운 방법은 환경 변수를 사용하는 것입니다 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 쉘은 PATH외부 프로그램을 찾는 데 사용되며 PATHBash의 내장 환경 변수입니다.

Bash 쉘은 LD_LIBRARY_PATH프로그램이 의존하는 공유 라이브러리를 찾는 데 사용됩니다. 그렇다면 LD_LIBRARY_PATHBash에는 왜 내장 환경 변수가 없습니까?

답변1

LD_LIBRARY_PATH쉘에서는 사용되지 않고 동적 링커에서 사용됩니다. 바라보다man ld.so더 알아보기.

내보내지 않으면 링커가 이를 볼 수 없고 이에 대한 작업을 수행할 수 없습니다.

관련 정보