Я не хочу вызывать java -version и/или выполнение каких-либо операций grep/sedding, поскольку мы уже использовали этот подход в прошлом, и он оказался ненадежным.
Код: Выделить всё
➜ java -version
openjdk version "21" 2023-09-19 LTS
OpenJDK Runtime Environment Temurin-21+35 (build 21+35-LTS)
OpenJDK 64-Bit Server VM Temurin-21+35 (build 21+35-LTS, mixed mode)
Я уже пробовал использовать jshell:
Но Вывод по-прежнему содержит всю обратную связь по командам, которую я не могу отключить (по крайней мере, я не знаю:
Код: Выделить всё
➜ printf $'System.out.println(java.lang.System.getProperty("java.runtime.version"));\n/exit\n' | jshell -s
-> System.out.println(java.lang.System.getProperty("java.runtime.version"))21+35-LTS
-> %
Я открыт для использования инструментов, доступных в тонком базовом образе Ubuntu или в последней версии Java jdk.
РЕДАКТИРОВАТЬ: я не против grep/sed в целом, если решение наполовину ориентирован на будущее и работает с различными поставщиками Java.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -the-shell