Dies ist eine geringfügige Variation, aber die Lösung von PJW hat bei mir nicht ganz funktioniert:
java -version 2>&1 | head -n 1 | cut -d'"' -f2
Schneiden Sie einfach die Zeichenfolge am Trennzeichen "
ab (doppelte Anführungszeichen) und erhalten Sie das zweite Feld.
- Stderr auf stdout umleiten.
- Erste Zeile holen
-
Filtern Sie die Versionsnummer.
java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}'
Ich würde vorschlagen, grep -i version
zu verwenden um sicherzustellen, dass Sie die richtige Zeile mit der Versionszeichenfolge erhalten. Wenn Sie die Umgebungsvariable JAVA_OPTIONS gesetzt haben, gibt openjdk die Java-Optionen aus, bevor die Versionsinformationen ausgegeben werden. Diese Version gibt 1.6, 1.7 usw. zurück.
java -version 2>&1 | grep -i version | cut -d'"' -f2 | cut -d'.' -f1-2