私は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