Não tenho certeza se estou formulando a pergunta corretamente, mas digamos que tenho dois terminais virtuais abertos e, se eu digitar ls
um deles, obterei o conteúdo do diretório emambosdeles (o segundo não precisa ser gravável, só precisa exibir o stdout do primeiro). Como eu faria para conseguir isso?
Responder1
Como o geekosaur mencionou, screen
fará o que você precisa (e muito, muito mais).
Primeiro, crie uma sessão de tela nomeada por conveniência em seu primeiro terminal:
$ screen -S foo
Segundo, anexe à sessão de tela em seu segundo terminal:
$ screen -x foo
Responder2
Você pode usar script
para fazer isso.
Por exemplo, se você quiser copiar toda a sua saída, /dev/tty1
você executaria
script -f /dev/tty1
A partir de então, qualquer coisa que você digitar, e toda a saída do comando será duplicada em /dev/tty1
.
script
inicia outro shell, então quando terminar, você pode simplesmente digitar exit
end script
.
O -f
objetivo é torná-lo em tempo real. Caso contrário, /dev/tty1
só verá a saída quando uma linha completa for exibida (quando um caractere de nova linha for gravado no tty).
Responder3
Depende exatamente do que você está procurando. Uma solução fácil é script(1)
; GNU screen
no modo multiattach é uma solução mais sofisticada.