![如何获取最后的 tmux 行?](https://linux22.com/image/1522310/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%9C%80%E5%90%8E%E7%9A%84%20tmux%20%E8%A1%8C%EF%BC%9F.png)
我正在写一个剧本,它应该打开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”的文件中。