Imagine que eu tenho um comando que produz muita saída e um código de retorno, e eu preciso executá-lo com frequência (por exemplo, a cada minuto) em um loop.
É possível enviar a saída do comando para um painel tmux diferente? Então eu poderia dividir o painel atual e ver a saída longa (scrollable) em um deles e uma lista como 10:00 - Retornado 7 \n 10:01 - Retornado 5 \n 10:03 - Retornado 9 no atual.
Até agora, só encontrei maneiras de executar comandos em diferentes painéis do tmux, o que não é o que preciso. Eu preciso apenas de uma maneira de canalizar a saída do comando para outro painel que o exibe.
Com a ajuda de @Kamil Maciorowski, descobri:
A principal coisa a aprender é: posso canalizar para outro tty; qualquer coisa que eu canalizar lá, aparecerá lá .
Com meu Cygwin, tenho que adaptar esta resposta , pois a tubulação para o
fd
processo do shell apenas me dá erros; em vez disso, tenho que olhar para onde ofd
link simbólico realmente aponta - não há problema na tubulação.Obtenha o PID do shell:
Veja onde ele
fd
aponta:Da string resultante,
lrwxrwxrwx 1 ... ... ... ... /proc/<PID>/fd/1 -> /dev/pty4
pegue o último bit e você sabe para onde canalizar.Junte :
Este alias informa o caminho para onde direcionar para ter a saída no painel atual:
Update/extension : Ao usar o bash, é possível exibir o shell atual (por exemplo.
pty2
) no prompt adicionando\l
a ele ( source ).