如何获取最后的 tmux 行?

如何获取最后的 tmux 行?

我正在写一个剧本,它应该打开Xtmux 会话的数量,检查最后一行,然后根据输出执行这或那操作,但我就是找不到保存 tmux 输出的方法。

到目前为止,我尝试正常地重定向输出>并使用capture-pane这样的选项:tmux capture-pane -t session1 > file但是文件中什么也没有得到。

我正在考虑在需要的时候使用 expect,但是 bash 解决方案会更好。

答案1

捕获窗格将数据保存到缓冲区。“>”将标准输出保存到文件。缓冲区和标准输出不一定是同一回事。您需要 tmux 命令“save-buffer”才能工作。如下所示。

tmux capture-pane -S -10 ; save-buffer 'file' ; delete-buffer

capture-pane -S -10保存窗格中的最后 10 行输出并将其放入名为“file”的文件中。

相关内容