На OSX я установил imagemagick с помощью Homebrew. Теперь я хотел определить местонахождение двоичного файла , поэтому я использовал whereis convert , который ничего не возвращал. Оказывается, он находится в /usr/local/bin/ , который находится в $PATH . Но /usr/local/bin/convert является символической ссылкой.

whereis обрабатывать символические ссылки? Есть ли что-то лучшее, что я мог бы использовать в этом случае?

2 ответа2

1

which также включает в себя символические ссылки:

$ which convert
/usr/local/bin/convert
$ ls -l /usr/local/bin/convert
lrwxr-xr-x  1 lauri  admin  41 Oct  5 18:19 /usr/local/bin/convert -> ../Cellar/imagemagick/6.8.7-0/bin/convert
0

Используйте readlink, чтобы увидеть, куда указывает символическая ссылка: readlink /usr/local/bin/convert whereis просто выполняется поиск имени в списке каталогов. Некоторые пользователи могут не захотеть, whereis разрешать символические ссылки, поскольку иногда символические ссылки могут содержать специфические для реализации детали (в одной системе символическая может указывать на X, на другую на Y)

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