Добавленные в PATH папки не могут быть найдены с помощью sudo

Добавленные в PATH папки не могут быть найдены с помощью sudo

Возможный дубликат:
Переменные среды при запуске с помощью 'sudo'

Я добавил новую папку в свой путь, но при запуске программ (в этой папке) с помощью «sudo» это не работает.

Когда я печатаю

sudo <command-name>

он возвращает:

sudo: <command-name>: command not found

Как сделать его доступным для sudo?

решение1

Это странно. В любом случае я думаю, что

sudo /FULL_PATH/program_name

будет работать.

Еще одной хорошей идеей будет добавить символическую ссылку на него в каталоге /sbin/ с помощью

sudo ln -s /FULL_PATH/program_name /sbin

решение2

PATH находится в вашем файле ~/.profile, ~/.bashrc или ~/.bash_profile. Этот файл создан только для вашей учетной записи.

Когда вы задавали свой PATH, вы, вероятно, редактировали /home/yourname/.profile, верно? Sudo не использует (как можно было бы подумать) PATH из /root/.profile вместо /home/yourname/, и не всегда использует ваш собственный PATH.

Проблема в том, что sudo перезаписывает несколько переменных. Какие именно, зависит от вашей системы. Как root, выполните:

sudo -V

Он сообщит вам, используется ли ваш PATH или нет. Затем вы можете использовать опцию sudo -E, чтобы перезаписать использование PATH по умолчанию. Смотрите описание на странице руководства о файле /etc/sudoers.

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