【发布时间】:2014-03-15 10:06:06
【问题描述】:
当前删除、移动或重命名运行有tail -f 的文件没有任何作用,我希望它中止。我已经阅读了手册页,似乎 -f 应该在文件移动时中止并且 -F 将跟随文件但在 Mac OS X 上似乎 -f 和 -F 是相同的。如何编写一个 bash 脚本,在文件移动后让 tail -f 干净地退出?
【问题讨论】:
-
这对于 SO 来说是题外话,但检查手册页会显示你有它倒退developer.apple.com/library/mac/documentation/Darwin/Reference/… 但此外,
-F然后将尾随在同一位置创建的新文件与同名。 -
手册页说,如果文件被重命名,-F 将另外跟随文件。滑稽的 -f 也会这样做。
-
@schellsan:确实在 OSX 上
-f和-F在文件重命名后都跟随文件,但-F做了一些-f没有的事情t:如果 original 名称下的文件再次出现,it 将从那时起再次 被尾随。在 Linux 上,-F的行为更直观:如果原始文件被重命名,拖尾将暂停并显示错误消息 - 直到重新出现以原始名称命名的 [新] 文件。也就是说,要实现您想要的,您确实需要一个程序化解决方案,如您自己的答案中所提供的那样;另见我的。 -
我真的不明白为什么 shell 编程的细节与 SO 无关。 Shell 编程就是编程,而获得编程问题的答案正是 SO 的目的。
-
@jonathan-leffler ,我同意 - 我正在编写一个 bash 脚本,并且需要将其作为其中的一部分,因此它似乎非常符合主题。