Il s'agit d'une légère variation, mais la solution de PJW n'a pas tout à fait fonctionné pour moi :
java -version 2>&1 | head -n 1 | cut -d'"' -f2
il suffit de couper la chaîne sur le délimiteur "
(guillemets doubles) et obtenez le deuxième champ.
- Redirigez stderr vers stdout.
- Obtenir la première ligne
-
Filtrez le numéro de version.
java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}'
Je suggérerais d'utiliser grep -i version
pour vous assurer d'obtenir la bonne ligne contenant la chaîne de version. Si la variable d'environnement JAVA_OPTIONS est définie, openjdk imprimera les options Java avant d'imprimer les informations de version. Cette version renvoie 1.6, 1.7 etc.
java -version 2>&1 | grep -i version | cut -d'"' -f2 | cut -d'.' -f1-2