Bash: Retorna a saída de um comando quando um arquivo é lido

1

Eu tenho um aplicativo Java em execução nos sistemas do cliente que recebe atualizações OTA quando o sistema está conectado à Internet. O cliente tem um utilitário que relata a versão atual de todo o software nos sistemas lendo arquivos (por exemplo, /etc/sw_version ). No entanto, quero que ele obtenha a versão mais recente do meu aplicativo diretamente, em vez de ler o conteúdo do arquivo estático, sem precisar alterar o utilitário do cliente.

A versão mais recente do meu aplicativo pode ser lida por meio de um arquivo de propriedades em um diretório no qual meu aplicativo tem acesso de gravação.

Existe uma maneira de retornar a saída de um comando em vez do conteúdo real do arquivo quando o arquivo é lido, talvez declarando algum tipo de ouvinte de evento de leitura de arquivo no arquivo? Algo como:

FETCH_SOFTWARE_VERSION ="grep version.current /opt/my_application/application.properties | tr -cd [:digit:]"

 OnRead(){
     VERSION=$($FETCH_SOFTWARE_VERSION)
     return $VERSION
 }

Eu sei que os drivers do Linux têm funções semelhantes, mas não consigo encontrar nenhum equivalente no espaço do usuário.

Qualquer ajuda, sugestões ou comentários são realmente bem-vindos.

    
por Rohit 19.06.2017 / 16:35

0 respostas