Ответ 1
if [[ $(java -version 2>&1) == *"OpenJDK"* ]]; then echo ok; else echo 'not ok'; fi
Мне нужна строка 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)
if [[ $(java -version 2>&1) == *"OpenJDK"* ]]; then echo ok; else echo 'not ok'; fi
java -version 2>&1 | grep "OpenJDK Runtime" | wc -l
возвращает 0, если используется Oracle JDK, 1, если используется OpenJDK
Bash условие:
if [[ $(java -version 2>&1 | grep "OpenJDK Runtime") ]]