Переменные PATH не работают с командой sudo

Переменные PATH не работают с командой sudo

Если я добавлю новый путь в свою $PATHпеременную следующим образом:

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

Затем я могу получить доступ к программам в моем ящике Pear. Работает так, как и ожидалось, но пока я могу сделать это:

phpunit -version

Поскольку phpunit — это программа, которая находится в моем Pear bin, я не могу сделать следующее:

sudo phpunit -version

так как я получаю следующую ошибку:

sudo: phpunit: command not found

разве sudoкоманда не имеет универсального доступа?

решение1

Опция -Esudo сохраняет переменные окружения, в противном случае они в основном отбрасываются. Итак, следующее должно работать:

sudo -E phpunit -version

решение2

Я не уверен в этом., но попробуйте.

Возможно, вам следует добавить тот же PATH PATH=$PATH:$HOME/pear/bin/в переменную PATH корневого каталога.

sudo -i
echo $PATH

чтобы увидеть каталоги PATH для root.

Затем, находясь в учетной записи root, сделайте следующее:

ls -a

и вы увидите .bashrcфайлы .profileдля учетной записи root.

Добавьте строку PATH=$PATH:$HOME/pear/bin/в соответствующий файл.

Связанный контент