Я пытаюсь написать сценарий установки (bash), в котором мне нужно проверить, установлен ли пользователь java 1.8.Перенаправление java и javac output
Очевидный способ сделать это, чтобы позвонить
javac -version | grep 1.8
, но по какой-то странной причине JAVAC (и Java) выход -версия не может быть перенаправлен - ни |,> или >> - в в первом случае вторая программа не получает никаких входных данных, во втором и третьем, выходной файл пуст после выполнения команды. Я попытался проверить это на трех разных машинах, результат был таким же на каждом из них.
В чем причина этого? Есть ли другой способ проверить версию java?
Вы знаете, что stdout и stderr есть? (также вы можете рассмотреть возможность написания небольшой программы Java 1.3, которая проверяет возможности, предоставляемые JVM, непосредственно с помощью отражения) –
Также, что вы будете делать, когда появится java 1.9? –
Меня не волнует версия 1.9, так как тогда программное обеспечение не будет использоваться. И небольшая программа Java 1.3 не будет работать, если вообще нет Java. – inexxt