Pourquoi le premier exécutable de mon $ PATH n'est-il pas utilisé?

J'ai un script appelé jsl dans /usr/local/bin . Running which jsl trouve là.

Je veux utiliser temporairement une version différente, et quand echo $PATH je vois que /usr/bin est plus tôt dans le path. J'ai donc ajouté un script appelé jsl dans ce dossier et j'ai vérifié qu'il est exécutable et s'exécute correctement lorsqu'il est appelé avec le path complet.

Cependant, which jsl trouve toujours la première version, et jsl exécute toujours.

Pourquoi mon nouveau jsl n'est- jsl pas retrouvé ou exécuté par son nom?

Le shell peut mettre en cache l'location de la command. Par exemple zsh le fait, et a la command rehash pour effacer le cache.