Se você já está na sessão do tmux, pode executar algum comando em uma nova janela, como abaixo:
$ tmux neww {command}
Além disso, se você deseja dividir a janela e executar o comando:
$ tmux splitw {command}
Aqui está um exemplo de execução de tail -f para vários arquivos no diretório de log:
$ find logs/ -name '*.log' | xargs -n1 -I{} bash -c 'tmux splitw "tail -f $1"; tmux select-layout main-vertical' -- {}
tmux select-layout
parte é para corrigir o layout do painel.
adicionado conforme o comentário:
Você pode usar:
$ tmux new {command}
Se você não estiver na sessão do tmux. Então você pode combinar isso assim.
test.sh:
tmux new -s foo "bash tmux-test.sh; wait"
tmux-test.sh:
tmux neww htop
tmux neww htop
tmux splitw htop
e então execute test.sh
tmux
sessão? Eu gostaria que ele fosse salvo como um.sh
script (ou similar), se possível. Eu acho que você pode estar em algo aqui. Obrigado!{command}
terminar. Por exemplo,tmux new date
lança uma nova janela que é executadadate
e, como odate
comando termina imediatamente, atmux
sessão também é finalizada.