小编Nic*_*wen的帖子

如何在 OS X 上通过管道输出 tail -F?

我最近从 Ubuntu 转移到 OS X,我发现“tail”命令的行为有所不同。

在 Ubuntu 上我可以运行

tail -f xyzzy.log | espeak
Run Code Online (Sandbox Code Playgroud)

(例如,让计算机读取 IRC 上发生的事情。)

但是在 OS X 上

tail -F xyzzy.log | say
Run Code Online (Sandbox Code Playgroud)

(我希望它是等效的)不会产生任何结果。

大概这是因为管道想要发送 tail 的完整输出 to say,但由于 tail 不断运行(使用 -f),它永远不会到达进程的末尾,因此输出永远不会被传递给 say。老实说,如果我理解正确的话,这种行为比我在 Ubuntu 上的行为更有意义——只是没那么有用。

那么有没有另一种方法可以达到相同的结果?(我关于为什么会发生这种情况的假设是否正确?)

command-line pipe tail macos

3
推荐指数
1
解决办法
6608
查看次数

标签 统计

command-line ×1

macos ×1

pipe ×1

tail ×1