如何以编程方式读取当前终端内容?

如何以编程方式读取当前终端内容?

有没有办法以编程方式读取当前终端内容(可见窗口或完整缓冲区,无论它更容易)?

我需要这个,因为我正在尝试开发一个程序,执行任意命令,使用其输出。我强调- 我知道管道是用于此目的的,但该程序的目的是避免这种情况。

一个可能的解决方案是结合编程Select allxsel调用,尽管我不知道[在 Gnome 终端中]执行第一个操作的任何方法。

答案1

screen您可以通过使用和 的脚本来完成此操作xdotool

这可能是你的outputworker.sh

#!/bin/sh
$1
xdotool key --clearmodifiers ctrl+a colon h a r d c o p y space o u t p u t Return Return
your_command output

然后启动screen并执行outputworker.sh command命令,<ctrl-a>:hardcopy output并将返回值发送到您的screen会话,生成一个名为 的文件output,您可以在处理输出的其他程序中使用该文件。

编辑:第二个在显示硬拷贝的输出时避免等待超时Returnscreen

相关内容