Я недавно перешел с Ubuntu на OS X и обнаружил, что команда tail работает по-другому.
На Ubuntu я мог бежать
tail -f xyzzy.log | espeak
(Например, чтобы компьютер читал мне, что происходит на IRC.)
Однако на OS X
tail -F xyzzy.log | say
(который я ожидал, чтобы быть эквивалентным) не дает результата.
Предположительно, это потому, что канал хочет отправить полный вывод tail, чтобы сказать, но так как tail работает постоянно (с -f), он никогда не достигает конца процесса, и поэтому вывод никогда не передается, чтобы сказать. Честно говоря, если я правильно понимаю, это поведение имеет больше смысла, чем поведение, которое я имел в Ubuntu, - оно просто менее полезно.
Так есть ли другой способ достичь того же результата? (И правильны ли мои предположения о том, почему это происходит?)