И type
, и which
ведут себя по-разному в зависимости от типа вашей оболочки.
В bash which
— это команда, существующая в PATH
. Он ищет команду, указанную вами в PATH
. Встроенный Bashtype -P
(P дляPATH
)ведет себя точно так же, как which
.
В ZSH как which
, так и type
являются встроенными и частичными функциями встроенного whence
. which -p
это то, что вы хотите. Это заставляет искать путь. Опция(-P
недоступна для type
ZSH.)
whence [ -vcwfpamsS ] [ -x num ] name...
-p
Do a path search for name even if it is an alias, reserved word, shell function or builtin.
Еще из руководства ZSH.
which [ -wpamsS ] [ -x num ] name...
Equivalent to whence -c.
Чтобы пропуститьbuiltin
which
и принудительно использовать команду which
из PATH
в ZSH:
alias which="command which"