Veja link que sugere
tail -f xyzzy.log | while read line ; do echo $line | say ; done
Eu recentemente mudei do Ubuntu para o OS X e estou achando que o comando 'tail' se comporta de maneira diferente.
No Ubuntu eu posso rodar
tail -f xyzzy.log | espeak
(Para que o computador me leia o que está acontecendo no IRC, por exemplo)
No entanto, no OS X
tail -F xyzzy.log | say
(que eu esperava ser equivalente) não produz nenhum resultado.
Presumivelmente, isso ocorre porque o pipe deseja enviar a saída completa da cauda, mas como a cauda está em constante funcionamento (com -f), ela nunca chega ao final do processo e, portanto, a saída nunca é passada para ser informada. Honestamente, se eu estou entendendo isso corretamente, esse comportamento faz mais sentido do que o comportamento que eu tive no Ubuntu - é apenas menos útil.Existe outra maneira de obter o mesmo resultado? (E minhas presunções sobre por que isso está acontecendo corretamente?)
Veja link que sugere
tail -f xyzzy.log | while read line ; do echo $line | say ; done
Tags command-line pipe tail macos