Я тестировал минимальную установку Fedora. Чтобы проверить путь для интерпретаторов, таких как python или node, я обычно использую which
.
я заметил which
не устанавливается по умолчанию. Я мог бы добавить пакет, но мне интересно, есть ли встроенная оболочка, которую можно использовать для выполнения этой общей задачи.
Я использую bash 4.2.
Ты можешь использовать type
, который является встроенным Bash:
$ type -P which
which is /usr/bin/which
Для документации см. help [t]ype
, который относится к type
раздел в bash
справочная страница.
(help type
печатает страницы справки для два встроенные команды, которые начинаются со строки "тип", один из которых устарел и совершенно не связан с этим.)
Ты можешь использовать type
или command -v
. Выход type
читается человеком; выход command -v
может быть выполнен Bash.
Обратите внимание, что на самом деле они немного отличаются. type
и command
найдите хешированное значение команды. То есть, если вы напечатаете cmd
, type cmd
или command -v cmd
скажет вам, что именно будет запускаться. Они также работают с псевдонимами, функциями Bash и встроенными командами Bash (хотя type -p
проигнорирует их и вернет только истинные файлы).
which
просто выполняет поиск по ПУТИ. Это другое, потому что:
which
, но выполнение этой команды будет использовать хешированное значение (вы можете принудительно обновить хеш в Bash с помощью hash -r
).Обычно люди очень хотят type
не which
, по крайней мере, для интерактивного использования, поскольку они используют ее, чтобы узнать, «откуда эта команда, когда я ее запускаю?» Вы должны использовать только which
если вы действительно хотите выполнить поиск по PATH.