我有一个 Putty 会话跟踪日志。我要么不停地翻看它以查看是否有任何内容,要么我根本就忘记检查它。如果有任何内容滚动到窗口中,Putty 或 Tail 能否发出“哔”声?
答案1
这会有用吗?:
tail -f /var/log/messages | sed 's/^/\a/'
答案2
多尾有一个选项可以做到这一点:
--beep-interval x
让终端每处理完 x 行就发出一次蜂鸣声。在主菜单中按“i”可查看它发出了多少次蜂鸣声。
答案3
这个答案与您的问题稍微有点偏离,但我只能提供这么多帮助。
首先,我不知道当数据开始移动时 tail 或 putty 有没有什么简单的方法可以提醒你。
其次,您需要在 Putty 中启用蜂鸣声:选中传递来自终端会话的任何铃声的选项(检查您的设置 -> 终端 -> 铃声)。您可能希望在那里选择一个 wav 文件(或选择“闪烁屏幕”以进行测试)。
在 Putty 终端窗口中输入 control-G 进行测试。现在你应该有一个可以工作的铃铛了。
最后,一个选项可能是将你的尾部通过管道传输到某个脚本,该脚本检查每行输入的时间(我想到 awk、perl 或 ruby,尽管我确信 shell 也能做得很好),并且如果两个连续输出之间的时间差大于给定的秒数,则将 \x07 输出到 /dev/stderr。
例如:
(yourscript) | awk '{pt=t; t=systime(); if ((t-pt)>10) {printf "\x07" > "/dev/stderr"}; print}'
例如
(echo a; sleep 4; echo b; sleep 9; echo c; sleep 12; echo d; sleep 8; echo e) | awk '{pt=t; t=systime(); if ((t-pt)>10) {printf "\x07" > "/dev/stderr"}; print}'
将 awk 脚本中的 10 更改为在终端发出蜂鸣声之前等待数据的秒数。