setenv path precedence

1

Preciso incluir o caminho de um mesmo software, mas duas versões diferentes instaladas em dois locais diferentes, já que não tenho permissão de edição desses arquivos e há alguns outros softwares nesses locais diferentes, então preciso incluir os dois dos diretórios.

O primeiro diretório $HOME contém muitos softwares, enquanto o segundo diretório /grid/common/ contém menos, mas todas as versões mais recentes. Então, eu quero que a segunda pasta preceda a primeira pasta ao definir a variável de ambiente do caminho.

No meu script:

setenv LD_LIBRARY_PATH $HOME/lib:/grid/common/lib

Será que /grid/common/ precede $HOME ou $HOME preceder /grid/common/ neste caso?

    
por cdnszip 11.10.2016 / 07:48

1 resposta

1

O último: $HOME/lib precede (substitui) /grid/common/lib . Por convenção, as variáveis de ambiente que fornecem uma lista de caminhos de diretório separados por dois pontos são da da esquerda para a direita .

POSIX lista várias variáveis de "caminho", todas processadas da esquerda para a direita, incluindo CDPATH , NLSPATH , PATH . Estranhamente, não menciona este (que é mais usado do que várias das variáveis listadas).

Normalmente, a documentação não diz da esquerda para a direita, mas apenas diz "ordem", assumindo que o viés cultural do leitor preenche o restante dos detalhes:

por 11.10.2016 / 10:03