update-java-alternatives -l will list all the java versions installed via the alternatives system.
For instance on one of my systems it will display the version and the path:
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-7-oracle 1069 /usr/lib/jvm/java-7-oracle
If you want the oracle one then I guess you could do:
update-java-alternatives -l | grep oracle | awk '{ print $1 }'
This would alternatively find all oracle versions and issue the -version command against each one in the list:
update-java-alternatives -l | grep oracle | awk '{system($3"/bin/java -version")}'
Output may look something like this:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
One step further would be to parse out the java version from the -version command and simply display it:
(update-java-alternatives -l | grep oracle | awk '{system(""$3"/bin/java -version 2>&1 | grep \"java version\"")}') | awk -F\" '{print $2}'
The 2>&1 is needed because Java will display version to standard error. The output would simply look like this (and could be easily assigned to a bash variable if you needed it that way):
1.7.0_67
If you had multiple oracle instances this would display the version for each one. If you wanted to find all the versions for every Java you could simply remove the | grep oracle