実行可能ファイルへのフルパスを指定せずにプログラムを実行し、Bashがディレクトリ$PATH
を検索してバイナリを見つける必要がある場合、Bashは何らかのキャッシュ内のパスを記憶しているようです。例えば、私がするソースからのSubversionのビルドをインストールし/usr/local
、その後、入力されたsvnsync help
bashプロンプトで。Bash /usr/local/bin/svnsync
は「svnsync」のバイナリを見つけて実行しました。次に、Subversionのインストールを削除し/usr/local
て再実行するとsvnsync help
、Bashが応答します。
bash: /usr/local/bin/svnsync: No such file or directory
しかし、Bashの新しいインスタンスを起動すると、が検出されて実行され/usr/bin/svnsync
ます。
実行可能ファイルへのパスのキャッシュをクリアするにはどうすればよいですか?