Note que, em seu terceiro comando, seu shell expande $PATH
antes que o sudo consiga vê-lo, e assim a saída é o caminho do seu shell, não o PATH que o sudo vê. O que você quer é algo como sudo echo \$PATH
ou sudo sh -c 'echo $PATH'
.
Além disso, dê uma olhada na seção NOTAS DE SEGURANÇA da página sudo(8)
man. Acredito que o Ubuntu construa sudo
com a opção de compilação SECURE_PATH. Procure a linha "Valor para substituir o $ PATH do usuário por" na saída de sudo sudo -V
.
sudo -i
simula um login inicial e, portanto, lê arquivos como .profile
(embora quais arquivos ele leia depende do shell do root). Sem -i
, ele herda as variáveis de ambiente preservadas do ambiente de seu interlocutor, com o saneamento da PATH que mencionei acima.
Por que o caminho mudou em primeiro lugar, eu suspeito que a mudança foi uma escolha deliberada por parte dos desenvolvedores. Veja mais discussões sobre bugs.debian.org .