Aqui está uma maneira portátil:
java -version 2>&1 | PATH='getconf PATH' awk -F '"' '/version/ {print $2}'
Ao contrário das sugestões usuais que tentam adivinhar o local correto dependendo da implementação do Unix, ele usa o comando getconf PATH
que retorna o caminho para os comandos compatíveis com POSIX.