Сервисная команда не найдена
Я пытаюсь запустить SSH с помощью:
service sshd start
но команда service не может быть найдена, поэтому выдает ошибку:
zsh: command not found: service
Что я должен делать?
РЕДАКТИРОВАТЬ: я добавил /usr/sbin в
PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH
в файле ~/.zshrc и все заработало
4 ответа
command not found
обычно результат в 2 случаях:
- исполняемый файл, не имеющий прав на выполнение для вашего пользователя или группы
- исполняемый файл, не принадлежащий папке, указанной в
PATH
переменная или наоборот -PATH
переменная, которая не содержит местоположение вашего исполняемого файла.
Как было решено в комментариях, ваш случай № 2. Для будущих читателей решение таково:
- откройте файл конфигурации вашей оболочки в любом текстовом редакторе. Если ваша оболочка
bash
открыть~/.bashrc
, если ваша оболочкаzsh
открыть~/.zshrc
, Обратите внимание, что~
ссылается на ваш домашний каталог. - Добавить строку
export PATH="$PATH:/usr/sbin"
, Обратите внимание, что/usr/sbin
Это просто пример, ваше местоположение может быть другим. - Сохраните файл, выйдите и запустите
source ~/.zshrc
или жеsource ~/.bashrc
, Обратите внимание, что для таких оболочек, какksh
или жеdash
вам нужно будет использовать. ~/.bashrc
посколькуsource
командаbashism
и не является портативным
пытаться
sudo find / -type f -iname service
если вы получите /sbin/service, то
/sbin/service sshd start
Я перезапустил докер, используя
systemctl
на месте
service
.
sudo systemctl restart docker
Не могу помочь, потому что я использую Bash. Но здесь https://stackoverflow.com/questions/18428374/commands-not-found-on-zsh - это вопрос, идентичный вашему, относительно общего пути приложений, указывающего в неправильном направлении.