У меня есть приложение JVM, которое запускается из сценария bash. Я хотел бы, чтобы приложение возвращало вывод в сценарий, чтобы сценарий мог использовать его в качестве параметра для других команд.
Одно из прочитанных предложений - использовать System.out.print
в желаемом выводе. , Тем не менее, мое приложение выполняет значительный объем журналов, используя log4j
. Он также вызывает другие библиотеки, которые также регистрируют другую информацию. Если мой bash -скрипт попытается прочитать из stdout, не будет ли он также прочитать все эти выходные данные журнала?
Другой вариант, о котором я подумал:
- сценарий передает
/tmp/${RANDOM}.out
путь к файлу к приложению - Приложение JVM записывает требуемый вывод в указанный файл
- Сценарий считывает значение из указанного файла, как только приложение получит Закончено выполнение
Вышеупомянутый подход кажется более громоздким и делает определенные предположения о файловой системе системы и разрешениях на запись. Но это лучший вариант, который я могу придумать.
Есть ли лучший способ сделать это?