Je pense que vous pouvez suivre tout cela en vérifiant où sont liés vos fichiers binaires Java.
#which javac
/usr/bin/javac
#ls -ln /usr/bin/java
lrwxrwxrwx. 1 0 0 22 Nov 27 04:54 /usr/bin/java -> /etc/alternatives/java
#ls -ln /usr/bin/javac
lrwxrwxrwx. 1 0 0 23 Nov 27 04:54 /usr/bin/javac -> /etc/alternatives/javac
# ls -ln /usr/bin/javadoc
lrwxrwxrwx. 1 0 0 25 Nov 27 04:54 /usr/bin/javadoc -> /etc/alternatives/javadoc
et enfin :
#ls -ld /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Nov 27 04:54 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
donc, mon installation java est :
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
Je suppose que vous pouvez suivre n'importe quel binaire comme celui-ci.
Trouver quel binaire est exécuté lorsque vous tapez uniquement le nom se fait à l'aide de which
, et en utilisant readlink
vous pouvez condenser le processus en une seule ligne.
readlink -e $(which java)
readlink -e
imprime la valeur d'un lien symbolique ou d'un nom de fichier canonique, et le -e garantit qu'il suit chaque composant de manière récursive.
[email protected]:~$ readlink -e $(which java)
/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
note :je n'ai pas installé javac sur la machine sur laquelle j'ai testé cela, donc j'ai juste utilisé java, mais ce qui précède fonctionnera pour n'importe quel binaire.
Vous semblez également demander à savoir quelle version de Java se trouve dans un dossier spécifique ? Pour cela, faites ceci,
/full/path/java -version
ce qui empêche Linux de rechercher le chemin et de trouver directement le binaire Java. Dans votre cas,
/usr/lib/jvm/java-7-oracle/javac -version