Questa è una leggera variazione, ma la soluzione di PJW non ha funzionato per me:
java -version 2>&1 | head -n 1 | cut -d'"' -f2
basta tagliare la stringa sul delimitatore "
(doppie virgolette) e ottieni il secondo campo.
- Reindirizza stderr a stdout.
- Ottieni la prima riga
-
Filtra il numero di versione.
java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}'
Suggerirei di usare grep -i version
per assicurarti di ottenere la riga corretta contenente la stringa della versione. Se hai impostato la variabile di ambiente JAVA_OPTIONS, openjdk stamperà le opzioni java prima di stampare le informazioni sulla versione. Questa versione restituisce 1.6, 1.7 ecc.
java -version 2>&1 | grep -i version | cut -d'"' -f2 | cut -d'.' -f1-2