1

Я не уверен, как это работает в Linux, но вы можете ввести имена программ, такие как ls , man и т.д., В любом каталоге, и программы будут выполнены.

Я удалил старую версию ImageMagick и собрал новую версию, и теперь, когда я пытаюсь выполнить команду convert (которая запускает ImageMagick), я получаю следующую ошибку:

/usr/bin/convert: No such file or directory

Итак, я побежал:

find / -name convert

Который показал это:

/usr/local/bin/convert

Похоже, что по какой-то причине ImageMagick на этот раз поместил исполняемый файл в другой каталог, но когда я пытаюсь запустить программу, она выглядит в старом каталоге.

Как я могу обновить путь convert / псевдоним / ярлык (ошибка терминологии) новым путем?

1 ответ1

1

Вы должны убедиться, что ваш каталог /usr/local/bin/ находится в вашем $PATH:

echo $PATH

Это должно вернуть все каталоги, в которых ваш Bash ищет исполняемые файлы, разделенные двоеточиями (" : "). Вывод должен выглядеть примерно так:

/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin

Оболочка Bash использует 'хэш-таблицу', чтобы запомнить полные имена исполняемых файлов. Для подробностей смотрите man bash и ищите 'SHELL BUILTIN COMMANDS'.

Может случиться, что после новой установки программ эта хеш-таблица не обновляется автоматически. Чтобы применить это обновление в текущем терминале, используйте эту команду:

hash -r

Теперь, которые конвертировать

должен вернуться

/usr/local/bin/convert

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .