我正在写一个剧本,它应该打开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”的文件中。