というjsl
スクリプトがあります/usr/local/bin
。ランニングはwhich jsl
そこにそれを発見した。
パスでより早いバージョンをecho $PATH
見ると、一時的に別のバージョンを使用したいと思います。/usr/bin
そのため、そのフォルダから呼び出されるスクリプトを追加し、フルパスで呼び出すときにjsl
実行可能で正しく実行されることを確認しました。
しかし、which jsl
最初のバージョンはまだ発見され、jsl
まだ実行されています。
私の新しい男がjsl
名前で発見または処刑されないのはなぜですか?which
答え1
シェルがコマンドの場所をキャッシュしている可能性があります。たとえば、zshにはこれを実行してrehash
キャッシュを消去するコマンドがあります。