有没有办法将命令的输出发送到 GNU Screen 的复制模式缓冲区。我想输入这样的内容:
$ echo 'this is an example' | screen_send_to_copy_mode
或者可能
C-a Some key
然后,在那之后,当我按下C-]我会得到this is an example
一个输出。有可能吗?
答案1
你可以这样做:
screen_send_to_copy_mode() (
tmp=$(mktemp) || exit
cat > "$tmp" &&
screen -X readbuf "$tmp"
ret=$?
(sleep 2; rm -f -- "$tmp")&
exit "$ret"
)
echo 'this is an example' | screen_send_to_copy_mode
答案2
您可以将命令的输出重定向到屏幕交换文件。
由于该文件的使用依赖于发行版,因此您应该首先分配您自己的文件,
C-a:缓冲文件你的文件
将命令的输出重定向到你的文件然后更新粘贴缓冲区并粘贴它,
C- a<C-a]
恢复屏幕默认设置交换文件,
C-a:缓冲文件