Como obter as últimas linhas tmux?

2

Estou escrevendo um script que supostamente abre x número de sessões tmux, verifique a última linha e depois, dependo da saída, faça isso ou aquilo, mas não consigo encontrar uma maneira de salvar a saída do tmux.

Até agora eu tentei redirecionar a saída normalmente > e também usando a opção capture-pane assim: tmux capture-pane -t session1 > file mas não recebo nada dentro do arquivo.

Eu estava pensando em usar espera, se necessário, mas uma solução bash seria muito maior.

    
por sysfiend 17.02.2017 / 18:08

1 resposta

2

O painel de captura salva os dados em um buffer. O ">" salva stdout em um arquivo. Um buffer e stdout não são necessariamente a mesma coisa. Você precisará do comando "save-buffer" do tmux para funcionar. Algo como o seguinte.

tmux capture-pane -S -10 ; save-buffer 'file' ; delete-buffer

O capture-pane -S -10 salvará as últimas 10 linhas de saída no painel e as colocará em um arquivo chamado "arquivo".

    
por 17.02.2017 / 18:24