У меня есть приложение Java, работающее в клиентских системах, которое получает обновления OTA, когда система подключена к Интернету. У клиента есть утилита, которая сообщает текущую версию всего программного обеспечения в системах, читая файлы (например, /etc/sw_version
). Однако я хочу, чтобы он получал последнюю версию своего приложения напрямую, а не считывал содержимое статического файла, не меняя пользовательскую утилиту.
Последняя версия моего приложения может быть прочитана путем просмотра файла свойств в каталоге, к которому у моего приложения есть доступ для записи.
Есть ли способ вернуть вывод команды вместо фактического содержимого файла при чтении файла, возможно, путем объявления какого-либо прослушивателя события чтения файла для файла? Что-то вроде:
FETCH_SOFTWARE_VERSION ="grep version.current /opt/my_application/application.properties | tr -cd [:digit:]"
OnRead(){
VERSION=$($FETCH_SOFTWARE_VERSION)
return $VERSION
}
Я знаю, что драйверы Linux имеют схожие функции, но я не могу найти эквивалентов в пользовательском пространстве.
Любая помощь, предложения или комментарии действительно приветствуются.