pathにコマンド(犬と呼びましょう)があります~/.local/bin/
。フルパスを使用してコマンドを呼び出すと、期待~/.local/bin/dog
どおりに機能します。
これを行うと、$ PATHが存在することを確認したときにwhich dog
予想される結果が表示されます(実際には)。~/.local/bin/dog
~/.local/bin
/home/ec2-user/.local/bin
しかし、単に入力すると、dog
次のエラーが発生します。
-bash: /usr/local/bin/dog: No such file or directory
出力type dog
はdog is hashed (/usr/local/bin/dog)
次のとおりですtype -a dog
。dog is /home/ec2-user/.local/bin/dog
アイデアはありますか?
答え1
たぶんコマンドを実行する必要がありますhash -r
。 ~からJohn1024の答え:
システムを更新し、いくつかの実行可能ファイルを新しい場所に移動すると、シェルが混乱する可能性があります。解決策はhash -rを実行することです。これにより、シェルはすべてのハッシュ位置を忘れ、最初からPATHを検索します。