是否有任何 tmux 插件/片段可以显示自上次屏幕(或每个窗格的内容)更改以来经过的时间?
这对于监视日志流(例如通过 tailf)特别有帮助。
谢谢。
答案1
使用控制模式 ( tmux -C
) 并解析输出。
快速而肮脏的脚本,概念证明:
#!/bin/bash
pane="$1"
trap 'SECONDS=0; dte="$(date)"' USR1
unset TMUX
kill -s USR1 "$$"
tmux -C attach | while read -r a p z; do
[ "$p" = "$pane" ] && kill -s USR1 "$$"
done &
while sleep 1; do printf '\r%-12d %s ' "$SECONDS" "$dte"; done
用法:./scriptname %N
哪里%N
是您要监视的窗格的 ID(例如%0
;通常可以使用 获取它echo "$TMUX_PANE"
)。监视脚本运行的窗格是可能的,但意义不大。
tail -f /var/log/syslog
在受监视的窗格和其他地方进行了测试logger
。