Variáveis ​​PATH não funcionam com o comando sudo

Variáveis ​​PATH não funcionam com o comando sudo

Se eu colocar um novo caminho na minha $PATHvariável assim:

PATH=$PATH:$HOME/pear/bin/

Posso então acessar os programas em minha caixa de peras. Funciona como esperado, mas enquanto eu posso fazer isso:

phpunit -version

sendo o phpunit um programa que reside na minha caixa de peras, não posso fazer isso:

sudo phpunit -version

pois recebo o seguinte erro:

sudo: phpunit: command not found

o sudocomando não tem acesso universal?

Responder1

A -Eopção sudo preserva as variáveis ​​de ambiente, caso contrário elas serão amplamente descartadas. Então, o seguinte deve funcionar:

sudo -E phpunit -version

Responder2

eu não tenho certeza sobre isso, mas experimente.

Talvez você deva adicionar o mesmo PATH PATH=$PATH:$HOME/pear/bin/à variável PATH da raiz.

sudo -i
echo $PATH

para ver os diretórios PATH para root.

Então, como você está na conta root, faça

ls -a

e você verá .bashrcos .profilearquivos da conta root.

Adicione a linha PATH=$PATH:$HOME/pear/bin/ao arquivo apropriado.

informação relacionada