Que não está pesquisando o $ PATH completo

0

Se eu executar sudo which abc , esperaria que ele pesquisasse os superusuários $ PATH para o programa 'abc', mas parece que ele procura apenas um subconjunto.

Eu posso ver isso executando sudo echo $PATH e comparando os caminhos pesquisados.

$ sudo which abc
which: no abc in (/sbin:/bin:/usr/sbin:/usr/bin)

$ sudo echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin

O que está acontecendo aqui?

    
por Jethro 28.07.2018 / 12:46

1 resposta

4

$PATH é expandido antes que sudo seja executado. Portanto, você está vendo o valor de PATH para você e não para o usuário para o qual você sudo.

tente isso:

$ sudo bash -c 'echo $PATH'
    
por 28.07.2018 / 12:49