$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'
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?