Toda la instalación de Java más reciente /usr/libexec/java_home
que se utiliza para seleccionar entre múltiples instalaciones de Java en una máquina. La prueba de su existencia y la salida del comando son buenas maneras de ver si Java está instalado sin activar la ventana emergente.
if [[ -e /usr/libexec/java_home ]]; then
JAVA_HOME=$(/usr/libexec/java_home)
else
echo "Java not installed"
fi
También puede usarlo para buscar una versión específica de Java. Por ejemplo:
|ruby-2.1.1| cortana in ~
○ → /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
|ruby-2.1.1| cortana in ~
○ → /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
|ruby-2.1.1| cortana in ~
○ → /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
$ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)