프로그래밍 방식으로 현재 터미널 내용을 어떻게 읽을 수 있나요? [복사]

프로그래밍 방식으로 현재 터미널 내용을 어떻게 읽을 수 있나요? [복사]

현재 터미널 내용(보이는 창 또는 전체 버퍼 중 더 쉬운 것)을 프로그래밍 방식으로 읽을 수 있는 방법이 있습니까?

프로그램을 개발하려고 하기 때문에 이것이 필요합니다.뒤쪽에명령을 실행하고 해당 출력을 사용합니다. 나는 강조한다뒤쪽에- 파이프가 이런 목적으로 사용된다는 것을 알고 있지만, 이 프로그램의 목적은 이를 방지하는 것입니다.

가능한 해결책은 프로그래밍 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

편집하다: 두 번째는 하드카피 출력을 표시할 때 대기 시간 초과를 방지합니다 Return.screen

관련 정보