Se eu executar o bash com um ambiente limpo, esperaria que o PATH estivesse vazio:
odin ~ 210$ env -i bash --norc --noprofile
bash-4.4$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
bash-4.4$ uname -a
Linux odin 4.10.0-42-generic #46-Ubuntu SMP Mon Dec 4 14:38:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
bash-4.4$
O PATH não está vazio.
Já revi a documentação algumas vezes, mas talvez tenha perdido alguma coisa.
Minha pergunta: onde isso está documentado?
Obrigado.
-E
Responder1
Encontrei algumas pistas em man bash
.
(1) Na documentação da variável PATH: -
PATH O caminho de pesquisa para comandos. É uma lista de diretórios separados por dois pontos nos quais o shell procura comandos (veja EXECUÇÃO DE COMANDO abaixo). Um nome de diretório de comprimento zero (nulo) no valor de PATH indica o diretório atual. Um nome de diretório nulo pode aparecer como dois pontos adjacentes ou como dois pontos iniciais ou finais. O caminho padrão depende do sistema e é definido pelo administrador que instala o bash. Um valor comum é ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
(2) Na documentação de command
: -
comando [-pVv] comando [arg ...] Execute o comando com argumentos suprimindo a pesquisa normal da função shell. Somente comandos internos ou comandos encontrados no PATH são executados. Se a opção -p for fornecida, a busca pelo comando será executada usando um valor padrão para PATH que garante a localização de todos os utilitários padrão. ...
No Ubuntu 18.04.2 recebo a mesma PATH
variável. Notei duas coisas: -
- Isso
PATH
inclui.
, mas geralmente é desaconselhável. - Na nova
bash
instância,declare -p PATH
mostra quePATH
não é exportado, como na configuração normal, portantoenv
não aparecePATH
em sua lista de ambientes.