スクリプトが複数のローカル実行ファイルを追加する「仮想環境」が設定されています$PATH
。すべてを設定した後、スクリプトhash -r
はbashで完全に機能します。
source venv/bin/activate
foo # foo is venv/bin/foo
bar # bar is venv/bin/bar
環境が設定されると、呼び出すまでそのまま残りますdeactivate
。 zshでは、環境は最初はうまく設定されていますが、しばらくして(遅延が定義されていないようです)、呼び出されるまでrehash
動作は停止します。
source venv/bin/activate
foo # foo is venv/bin/foo
bar # bar is venv/bin/bar
bar # bar is /usr/bin/bar ??
rehash
bar # bar is /venv/bin/bar
関連する場合venv/bin/foo
に予約されたスクリプトへのリンクであり$0
、他のスクリプトを呼び出し、最終的に特定のfoo
ドッカーコンテナ内で実行されます。
これが起こらないようにするにはどうすればよいですか?