GNU/Linux >> Linux の 問題 >  >> Linux

PATH にあるプログラムに対して Bash が No such file or directory を与えるのはなぜですか?

docker-compose をある場所に 1 回インストールした後、それを削除して別の場所にインストールしました。

そのようにして、コマンドを入力するたびに $PATH を検索する必要がないという bash の最適化に遭遇しました。これは、結果をメモリにキャッシュすることによって行われます。パス ハッシュは、bash によって維持されるハッシュ テーブルであり、ディスク上の場所シェルは、コマンドの実行時に実行可能プログラムを探す必要があります。ハッシュ テーブルは、明らかに結果を無効にするイベント ($PATH の変更など) が発生した場合、または組み込みの hash を使用してクリアされます。 コマンド。

docker-compose を再度実行すると、bash は前回見つけた場所からそれを取得しようとしましたが、もう存在しないため、そのエラー メッセージが表示されました。

docker-compose のハッシュを無効にするには、次のコマンドを実行します:

 hash docker-compose

Linux
  1. `md5sum`がインターネットと同じハッシュを与えないのはなぜですか?

  2. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?

  3. パスに bash スクリプトを追加する

  1. ディレクトリに対してのみ No such file or directory エラーが発生する bash スクリプトのコマンドを検索しますか?

  2. 致命的なエラー:cuda.h:そのようなファイルまたはディレクトリはありません

  3. conda source activate :bash:activate:No such file or directory

  1. 一部のコマンドでBashプロセス置換が機能しないのはなぜですか?

  2. ENOENT が No such file or directory を意味するのはなぜですか?

  3. chroot が失敗します - コマンド `/bin/bash' を実行できません:そのようなファイルまたはディレクトリはありません