Ce programme Java permet de lister les dossiers du PATH (dans l'ordre de déclaration)
La variable ~dp0 permet de récupérer l'emplacement du script jwhich.bat
On utilise la commande pushd pour se mettre dans le même dossier que le script dans lequel il doit y avoir le fichier jwhich.class
On utilise la commande popd pour revenir au dossier courant avant l'appel au script
On peut ajouter l'emplacement du script au PATH afin que celui-ci soit pris en compte quelque soit le dossier courant
On peut tester en faisant :
Les noms des dossiers s'affichent dans l'ordre où ils sont inscrit dans la variable PATH
Pour trier par ordre alphabétique, on peut faire : jpath | sort
Pour trier par date : jpath +d | sort
Le fichier jpath.class doit se trouver dans le même dossier que le fichier jpath.sh
Le fichier jpath.sh doit être codé en utf-8 et avoir des fins de ligne Unix LF
Si le fichier a été créé sous Windows, penser à utiliser Notepad++
Sous Linux, on peut utiliser les commandes :
iconv -f iso-8859-15 -t utf-8 input > output et sed 's/\r//' imput > ouput
Ce script permet de lister les dossiers du PATH
Dans les scripts Windows et Linux précédents, on appelle directement la commande java. Une bonne pratique est de mettre le chemin complet (PathName absolu) des commandes utilisées.
Le programme jwhich.java permet d'obtenir pour une commande donnée toutes les occurrences de chemin complet présentes dans les dossiers du PATH.
Ici, sous Windows, il conviendrait de désinstaller le jre1.8.0_73 inutile.
A noter que sous Linux, la commande which avec l'option -a permet d'obtenir la même chose.