Bash команда с префиксом sudo пропадает

Рейтинг: 1Ответов: 1Опубликовано: 13.04.2015

Ubuntu 14.04, смотрим есть ли у нас программка:

which passenger-config
usr/local/rvm/gems/ruby-2.2.0-preview1/bin/passenger-config

Есть!

Спрашиваем с sudo

~# sudo which passenger-config
~#

Нету! Как это поправить?

Ответы

▲ 2Принят

urmurmur, когда which ищет программы, он ищет исполняемые файлы с идентичным названием в текущем $PATH. Таким образом, например, ничего из /usr/sbin/ не попадет к обычному пользователю, пока кто-то не начал химичить переменными.
Очевидно, у текущего пользователя /usr/local/rvm/gems/ruby-2.2.0-preview1/bin/ записан в $PATH, но при выполнении через sudo используется другой $PATH (я честно не знаю, от рута ли в этом случае выполняются команды, скорее всего да).