команда не найдена, даже когда "which" показывает свой путь с помощью sudo - PullRequest
0 голосов
/ 30 апреля 2018

Я нахожусь на выпуске Fedora 25 с zsh 5.2

Я пытаюсь использовать команду с sudo. (В этом примере docker-compose)

Проблема:

Команда

which показывает, где она находится.

$ sudo PATH=$PATH which docker-compose
/usr/local/bin/docker-compose

Несмотря на это, команда не найдена

$ sudo PATH=$PATH docker-compose
sudo: docker-compose: command not found

Я мог бы заставить это работать sudo `which docker-compose`, но я хочу знать, почему это происходит.

Что я пробовал:

Я дважды цитировал PATH=$PATH, но получил тот же результат.

$ sudo "PATH=$PATH" docker-compose
sudo: docker-compose: command not found

1 Ответ

0 голосов
/ 30 апреля 2018

/usr/local/bin/ не находится на корневом пути. Проверьте с

sudo bash -c 'echo "$PATH"'

/usr/sbin:/usr/bin:/sbin:/bin

Использовать абсолютный путь к команде. Добавление / usr / local / bin в корневой каталог кажется угрозой безопасности .

...