방금 ZSH(중요한 경우 oh-my-zsh에서)를 입력했는데 crash
이상한 답변을 받았습니다.
zsh: permission denied: crash
일반적으로 예상되는 명령을 찾을 수 없는 동작 대신(플러그인이 설치되어 있기 때문에)
원인을 이해하도록 도와주시거나 이 문제를 디버깅할 수 있는 위치를 알려주세요. 다른 단어는 그러한 메시지를 트리거하지 않습니다. 이는 일반적인 명령을 찾을 수 없는 동작입니다. type crash
상태 crash not found
.
➜ ~ crash
zsh: permission denied: crash
➜ ~ type crash
crash not found
➜ ~ type crashaa
crashaa not found
➜ ~ type crsdadsadsa
crsdadsadsa not found
➜ ~ ieusrferw
zsh: command not found: ieusrferw
➜ ~ crashaa
zsh: command not found: crashaa
➜ ~ crash
zsh: permission denied: crash
호기심이 더 커졌습니다. sudo crash
신고하세요 sudo: crash: command not found
. :피
적시에 팁을 제공한 @Gilles 및 @StéphaneChavelaz에게 감사드립니다.
set -x
많은 출력을 제공하지만 코어는 변경되지 않으며 명령 실행 후 권한이 없습니다. 더 잘 이해되면 출력을 복사하여 붙여넣겠습니다 :-)- 아니요, 해당 디렉토리가 없습니다
crash
. 임시 디렉토리를 만들고aaa
거기에서 작업을 반복했지만 아무것도 변경되지 않았습니다.crash
나도 어느 길로 갔는지 기억이 나지 않는다 . 또한 sudo는 도움이 되지 않으며 "해당 명령이 없습니다"라고 표시됩니다.
답변1
crash
다음 디렉토리 중 하나에 라는 디렉토리를 생성하면 재현할 수 있습니다 $path
.
$ mkdir -p ~/bin/crash
$ path+=(~/bin)
$ crash
zsh: permission denied: crash
$ type crasn
crasn not found
이는 해당 디렉토리가 실행을 시도하고 있기 permission denied
때문입니다 (그리고 zsh
나머지에서 crash
찾을 수 있는 다른 잠재적인 명령이 없기 때문입니다 $path
). 이제 를 입력하는 동안 디렉터리를 실행하려고 하면 type
해당 디렉터리가 보고되지 않으며 이는 오류로 간주될 수 있습니다.zsh
crash
ls -ld -- $^path/crash(N/)
확인해보세요 .
dash
, tcsh
( which
) 및 fish
동일한 문제가 있습니다. 비슷한 불일치가 ksh93
있지만 mksh
적어도 해당 오류 메시지가 더 유용합니다.
$ ksh -c crash
ksh: crash: cannot execute [Is a directory]
$ ksh -c 'type crash'
ksh: whence: crash: not found