标准输出到GN​​U屏幕复制缓冲区

在GNU屏幕中是否有一个命令将标准输出引导到复制缓冲区

我一直在使用文件做很多工作,把我想要的文件名复制并转换成命令是很好的

例如

ls | grep过程

$ ls | grep cal calendar.inc-gen.php // enter copy mode $^ay // backward search for gen_chg ? cal // start region SPC //goto to end of file by forward search php php // done ENT // type command line $ git rm ^p // creates $ git rm calendar.inc-gen.php 

我知道有一个更简单的方法来做到这一点与bash脚本,但我经常发现自己需要terminal屏幕上的一个专门的信息,这将是很好的只是键入

 ls | grep cal > To_GNU_SREEN_COPY_:) or something 

丹尼斯的解决scheme如下

您可能需要在.screenrc bufferfile / tmp / screen-exchange中设置缓冲文件

这里有一个方法:

 echo -n cal* > /tmp/screen-exchange screen -X readbuf # or press Ctrl-a < git rm ^a] # type "git rm" then press Ctrl-a ] 

gnu屏幕复制/回滚缓冲区位于寄存器.

要在屏幕会话中从shell发送string到复制/回滚缓冲区,可以使用register命令,如下所示:

 screen -X register . 'Hello World' 

但是,如果此命令是从脚本运行的,则情况可能如此,那么您将需要指定屏幕服务器名称。

 screen -S "1234.pts-1.localhost" -X register . 'Hello World' 

这个命令也会从shellvariables中提取值,而不需要echo:

 x='Hello World' screen -S "1234.pts-1.localhost" -X register . $x 

指定窗口不是必需的,但是这是如何做到这一点。

 y='Goodbye World' screen -S "1234.pts-1.localhost" -p 2 -X register . $y # Walk into the ocean.... fade to black.... roll credits