有沒有辦法以程式方式讀取目前終端內容(可見視窗或完整緩衝區,無論它更容易)?
我需要這個,因為我正在嘗試開發一個程序,後執行任意命令,使用其輸出。我強調後- 我知道管道是用於此目的的,但該程序的目的是避免這種情況。
一個可能的解決方案是結合編程Select all
和xsel
調用,儘管我不知道[在 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