Como ler o conteúdo atual do terminal programaticamente?

Como ler o conteúdo atual do terminal programaticamente?

Existe uma maneira de ler o conteúdo atual do terminal (janela visível ou buffer completo, o que for mais fácil) programaticamente?

Preciso disso porque estou tentando desenvolver um programa que,depoisexecutando um comando arbitrário, trabalha com sua saída. eu me estressodepois- Eu sei que são usados ​​pipes para isso, mas o objetivo do programa é evitar isso.

Uma possível solução seria uma combinação de uma programática Select allseguida de uma xselinvocação, embora eu não conheça nenhuma maneira de realizar a primeira operação [no Terminal Gnome].

Responder1

Você pode fazer isso com um script usando screene xdotool.

Este pode ser o seu 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

Em seguida, start screene do outputworker.sh commando comando é executado, <ctrl-a>:hardcopy outpute um retorno é enviado para sua screensessão, produzindo um arquivo chamado output, que você pode usar em seu outro programa que funcione com a saída.

Editar: o segundo Returnevita screenesperar o tempo limite enquanto exibe a saída da cópia impressa.

informação relacionada