Acho que capture-pane
pode atender às suas necessidades:
tmux capture-pane -pt "$target-pane"
(consulte “painel de destino” na página man para saber como especificar um painel)
Por padrão, esse comando despejará o conteúdo atual do painel especificado. Você pode especificar um intervalo de linhas usando as opções -S
e -E
(números de linha inicial e final): a primeira linha é 0 e os números negativos referem-se a linhas do histórico "rolar para trás" do painel. Portanto, a adição de -S -10
fornece as dez linhas mais recentes do histórico, além do conteúdo atual do painel.
tmux capture-pane -pt "$target-pane" -S -10
A opção -p
foi adicionada em 1.8. Se você estiver executando uma versão anterior, poderá fazer isso:
tmux capture-pane -t "$target_pane" \; save-buffer - \; delete-buffer
Mas lembre-se desses pontos-e-vírgulas se estiver emitindo este comando via ssh
, já que o shell remoto adicionará um nível adicional de interpretação do shell (os ponto-e-vírgulas precisam ser passados como argumentos para o comando final tmux , eles não devem ser interpretados pelo shell local ou remoto).