Aqui está uma maneira:
echo -n cal* > /tmp/screen-exchange
screen -X readbuf # or press Ctrl-a <
git rm ^a] # type "git rm" then press Ctrl-a ]
Existe um comando no GNU Screen para direcionar a saída padrão para o buffer de cópia
Eu tenho feito muito trabalho com arquivos, é ótimo copiar e passar os nomes de arquivos que eu quero para os comandos
por exemplo,
ls | grep proc
$ ls | grep cal
calendar.inc-gen.php
// enter copy mode
$^a y
// 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
Estou ciente de que há maneiras mais fáceis de fazer isso com um script bash, mas muitas vezes me vejo precisando de uma informação especializada a partir da tela do terminal e seria ótimo apenas digitar
ls | grep cal > To_GNU_SREEN_COPY_:) or something
A solução de Dennis abaixo funciona
você pode precisar configurar o arquivo buffer em seu .screenrc bufferfile / tmp / screen-exchange
O Buffer de Cópia / Scrollback da tela gnu está localizado no registro .
Para enviar uma string para o buffer Copy / Scrollback de um shell dentro da sessão de tela, você pode usar o comando register
da seguinte forma:
screen -X register . 'Hello World'
No entanto, se este comando estiver sendo executado a partir de um script, como provavelmente é o caso, será necessário especificar o nome do servidor de tela.
screen -S "1234.pts-1.localhost" -X register . 'Hello World'
Este comando também extrairá o valor de uma variável shell sem a necessidade de eco:
x='Hello World'
screen -S "1234.pts-1.localhost" -X register . $x
A especificação da janela não é necessária, no entanto, é assim que você faria.
y='Goodbye World'
screen -S "1234.pts-1.localhost" -p 2 -X register . $y
# Walk into the ocean.... fade to black.... roll credits