A solução mais simples é provavelmente sponge como @heemayl sugerido . Alternativamente, você poderia fazer algo assim:
command > tmpfile && mv tmpfile watched_file
Isso fará com que command salve sua saída em tmpfile , que só será renomeada para watched_file (o arquivo que seu servidor está configurado para assistir) assim que o comando sair e somente se tiver saído com sucesso . Para também renomeá-lo em caso de falha, use:
command > tmpfile; mv tmpfile watched_file