Como o caminho é carregado pela primeira vez

0

Como os shells como bash primeiro obtêm o caminho e / ou o ambiente? É um arquivo?

Veja o que tentei:

  • /etc/paths (Aparentemente existe no MacOS, não consigo encontrar no meu Debian sistema)

  • Carregando simplesmente $path (uma espécie de trapaça para o que estou fazendo, mas é uma opção se existir)

  • Google fu (Somente obtém resultados sobre como modificar e definir o caminho normalmente através do shell)

por moonheart08 04.05.2017 / 17:20

1 resposta

2

Normalmente, $PATH é herdado do ambiente e os scripts de inicialização do shell podem modificá-lo.

Mas se a variável de ambiente não estiver configurada, ela aparentemente tem um padrão embutido em código, que depende da versão (ou talvez das opções de configuração definidas durante a compilação).

No meu sistema OS X executando bash 3.2.57(1)-release

$ env -i bash --norc --noprofile -c 'echo $PATH'
/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.

No Debian executando bash 4.2.37(1)-release

$ env -i bash --norc --noprofile -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Você pode confirmar que eles são codificados no binário usando

strings /bin/bash | grep /usr/local/bin
    
por 04.05.2017 / 19:24

Tags