Я хочу добавить некоторую команду в PATH, чтобы я мог их удобно использовать, например:
export $PATH = "$PATH:/opt/storm/bin"
, но иногда storm
нужны полномочия root, но когда я использую это с sudo
, Ubuntu не может найти команду.
sudo storm nimbus
Как я могу найти эти команды, когда использую sudo
?
Вы должны добавить путь к пути sudo
.
Запустите команду sudo visudo
, вы увидите такую строку:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
Теперь добавьте сюда путь своей команды, и это должно работать.
Например:
$ sudo storm
sudo: storm: command not found
Теперь добавьте путь, как указано выше:
$ sudo visudo
secure_path="......:/opt/storm/bin"
сохранить и выйти.
сейчас sudo storm
будет работать нормально.
Примечание Вам также следует добавить путь к пути по умолчанию в / etc / profile
.
Думаю, вы создали псевдоним на уровне пользователя. Поэтому ярлыки доступны только на уровне пользователя.
Вы должны добавить эту командную строку псевдонима в файл .bashrc в папке / root, а не в /home/user/.bashrc (этот файл .bashrc принадлежит учетной записи пользователя, а не root).
Чтобы вы могли использовать свой команда alias непосредственно в оболочке при входе в систему как root.
@Maythux объяснил, что такое безопасный путь, по которому sudo ищет исполняемые файлы
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
, вы можете добавить путь прямо в список, как подсказывает ответ, но лучший и правильный способ - создать символическая ссылка unde / usr / bin
sudo ln -s -f /opt/storm/bin/storm /usr/bin/storm