Bash команда, чтобы проверить, установлена ​​ли версия Java или OpenJDK java на Linux

Мне нужна строка bash, чтобы проверить, установлена ​​ли в настоящее время версия Java, Oracle или OpenJDK.

Однострочный синтаксический анализ с помощью команды java -version:

java -version

java Oracle output:

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)

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)

Ответы

Ответ 1

if [[ $(java -version 2>&1) == *"OpenJDK"* ]]; then echo ok; else echo 'not ok'; fi

Ответ 2

java -version 2>&1 | grep "OpenJDK Runtime" | wc -l

возвращает 0, если используется Oracle JDK, 1, если используется OpenJDK

Bash условие:

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