Parece que você quer que command termine de gravar no arquivo, mas deseja interromper a exibição no console. Eu tomaria uma abordagem diferente para a solução. Em seu script:
> "file"
command > "file" &
tail -n +1 -F "file"
Correção:
A resposta original usou -n 0 , que inicialmente não gera linhas de "file" , mas gera as linhas adicionadas a "file" depois que tail é iniciado. Esta não foi minha intenção - foi um erro. Eu pretendia usar uma opção que listasse todas as linhas de "file" mesmo se command tivesse escrito algumas antes de tail ter sido iniciado. A opção correta para esse comportamento é -n +1 .
Na página tail(1) man:
-n, --lines=K output the last K lines, instead of the last 10;
or use -n +K to output lines starting with the Kth
A primeira linha limpa o conteúdo do arquivo no caso de uma condição de corrida em que tail atinge o arquivo antes de command .