Por que `LD_LIBRARY_PATH` não é uma variável de ambiente interna do Bash?

Por que `LD_LIBRARY_PATH` não é uma variável de ambiente interna do Bash?

DeUma introdução ao GCC:

A maneira mais simples de definir o caminho de carregamento é através da variável de ambiente LD_LIBRARY_PATH. Por exemplo, os comandos a seguir definem o caminho de carregamento para /opt/gdbm-1.8.3/libque libgdbm.sopossa ser encontrado:

$ LD_LIBRARY_PATH=/opt/gdbm-1.8.3/lib
$ export LD_LIBRARY_PATH
$ ./a.out
Storing key-value pair... done.

É correto que LD_LIBRARY_PATHnão seja uma variável de ambiente interna do Bash? Caso contrário, não há necessidade exportdisso.

Um shell Bash é usado PATHpara localizar um programa externo e PATHé uma variável de ambiente integrada do Bash.

Um shell Bash usa LD_LIBRARY_PATHpara localizar as bibliotecas compartilhadas das quais um programa depende para ser executado, então por que não é LD_LIBRARY_PATHuma variável de ambiente integrada do Bash?

Responder1

LD_LIBRARY_PATHnão é usado pelo shell, é usado pelo vinculador dinâmico. Verman ld.sopara detalhes.

Se você não exportá-lo, o vinculador não o verá e não poderá agir de acordo.

informação relacionada