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

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

에서GCC 소개:

로드 경로를 설정하는 가장 간단한 방법은 환경 변수를 사용하는 것입니다 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_PATHBash의 내장 환경 변수가 아닌 것이 맞습니까 ? 그렇지 않으면 그럴 필요가 없습니다 export.

Bash 쉘은 PATH외부 프로그램을 찾는 데 사용되며 PATHBash의 내장 환경 변수입니다.

Bash 쉘은 LD_LIBRARY_PATH프로그램이 실행되기 위해 의존하는 공유 라이브러리를 찾는 데 사용하는데 왜 LD_LIBRARY_PATHBash의 내장 환경 변수가 아닌가?

답변1

LD_LIBRARY_PATH셸에서는 사용되지 않고 동적 링커에서 사용됩니다. 보다man ld.so자세한 내용은.

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

관련 정보