Мені потрібно запустити програму, встановлену на / opt / godi / sbin (спеціальна директорія). Якщо я додаю цей каталог у свій PATH, додавши наступний рядок у мій файл .bashrc
export PATH=$PATH:/opt/godi/bin:/opt/godi/sbin
тоді я можу спробувати запустити команду просто добре (за винятком того, що вона не спрацьовує, тому що їй потрібен sudo). Однак, коли я намагаюся використовувати судо:
sudo godi_console
Я отримую таку помилку
sudo: godi_console: command not found
Перевірка змінної PATH після використання sudo виявляє, що вона не включає ту саму PATH як у звичайного користувача:
$ sudo sh
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Чому ПАТ не однаковий? Я щось роблю не так? Я на Debian Jessie, і, на жаль, я не можу обійти проблему, передавши sudo абсолютну посилання на godi_console, оскільки сам godi_console також залежить від правильності встановлення PATH.
secure_path
та / або env_reset налаштовано так, як це відбувається у багатьох sudo
розгортаннях, як на Debian.
sudo -E godi_console
.-E
означає "зберегти довкілля".