Esta es una ligera variación, pero la solución de PJW no funcionó para mí:
java -version 2>&1 | head -n 1 | cut -d'"' -f2
simplemente corte la cadena en el delimitador "
(comillas dobles) y obtenga el segundo campo.
- Redirigir stderr a stdout.
- Obtener primera línea
-
Filtra el número de versión.
java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}'
Sugiero usar grep -i version
para asegurarse de obtener la línea correcta que contiene la cadena de versión. Si tiene configurada la variable de entorno JAVA_OPTIONS, openjdk imprimirá las opciones de Java antes de imprimir la información de la versión. Esta versión devuelve 1.6, 1.7, etc.
java -version 2>&1 | grep -i version | cut -d'"' -f2 | cut -d'.' -f1-2