Я могу воспроизвести его, если создам каталог с именем сбой
в любом каталогов в $ path
:
$ mkdir -p ~/bin/crash
$ path+=(~/bin)
$ crash
zsh: permission denied: crash
$ type crasn
crasn not found
В разрешении отказано
из-за того, что zsh
пытается выполнить этот каталог (и другого сбоя нет
потенциальную команду для поиска в оставшейся части $ path
). Теперь, когда тип
не сообщает об этом каталоге, когда zsh
пытается выполнить его, когда вы введите сбой
можно рассматривать как ошибку.
Попробуйте ls -ld - $ ^ path / crash (N /)
для подтверждения.
dash
, tcsh
(с который
) и fish
имеют одинаковую проблему. ksh93
и ] mksh
имеют аналогичное несоответствие, но, по крайней мере, их сообщение об ошибке более полезно:
$ ksh -c crash
ksh: crash: cannot execute [Is a directory]
$ ksh -c 'type crash'
ksh: whence: crash: not found