如何从会话外部获取tmux会话中当前行的内容?

问题描述

我有一个独立的tmux会话,该会话启动一个程序,该程序需要几分钟才能完全启动。一旦启动,它将在程序内提供提示,该提示可以运行特定于该程序的某些命令。当出现该提示时,我想输入一个特定的命令。我知道我可以使用send-keys发送击键,因此问题归结为确定该shell会话中当前行的内容何时是程序的提示。

请注意,从外壳程序的角度来看,没有任何事情可以“停止运行”,因此,仅检查当前外壳程序命令是否已完成的任何方法都将无法正常工作。

我该怎么做?

解决方法

看来capture-pane是答案。将当前窗格写入日志文件,然后使用grep -q “<prompt>” ./tmux.log查找当前行。 (这假设搜索的文本只有一行,在我的特定用例中是正确的。)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...