qual programa será iniciado

0

Eu copiei o programa id do diretório /usr/bin/ para o diretório home . Eu não sei qual será iniciado após a execução id comando no diretório onde eu copiei este programa.

O Bash procurará o programa em PATH variable ou o executará no diretório?

Existe alguma maneira de verificar isso?

    
por Iomanip 16.04.2018 / 16:55

2 respostas

0

Você pode usar type id ou command -v id para ver como bash interpretará id como um comando. Para mim eu vejo:

$ type id
id is /usr/bin/id
$ command -v id
/usr/bin/id

E sim, bash pesquisará $PATH , embora, uma vez encontrado, ele se lembre dessa localização para não precisar pesquisar todas as vezes. Isso pode causar problemas se você movê-lo depois de executá-lo anteriormente. Você pode ver isso com o hash command hash id para ver se essa entrada existe atualmente.

    
por 16.04.2018 / 17:01
0

O shell sempre pesquisará os diretórios listados na variável PATH , em ordem, até que um comando correspondente seja encontrado.

Você pode ver o que id pega usando o comando

command -v id

Note que se você está movendo binários por aí (você não deveria fazer isso), você pode ter que executar hash -r para redefinir a lista dos locais lembrados de utilidades que foram lidos em bash .

    
por 16.04.2018 / 17:01

Tags