
Возможный дубликат:
Переменные среды при запуске с помощью '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.