如何将命令输出发送到 GNU Screen 的复制模式缓冲区

如何将命令输出发送到 GNU Screen 的复制模式缓冲区

有没有办法将命令的输出发送到 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:缓冲文件

相关内容