web-dev-qa-db-fra.com

Commande Bash pour vérifier si Oracle ou OpenJDK Java est installée sur Linux

J'ai besoin d'une ligne bash pour vérifier si Java actuellement installée est celle d'Oracle ou d'OpenJDK.

Un one-liner en analysant la sortie du Java -version commande:

Java -version

Sortie Java Oracle:

Java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Sortie Java OpenJDK:

Java version "1.7.0_91"
OpenJDK Runtime Environment (amzn-2.6.2.2.63.amzn1-x86_64 u91-b00)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
33
Basil Musa
if [[ $(Java -version 2>&1) == *"OpenJDK"* ]]; then echo ok; else echo 'not ok'; fi
22
Cortwave
Java -version 2>&1 | grep "OpenJDK Runtime" | wc -l

renvoie 0 si vous utilisez Oracle JDK, 1 si vous utilisez OpenJDK

Condition Bash:

if [[ $(Java -version 2>&1 | grep "OpenJDK Runtime") ]]
22
jchampemont