Script com tmux?

0

Posso criar várias bash/ shinstruções para abrir e executar em tmuxpainéis separados ?

Eu tenho cerca de 5 comandos diferentes que precisam ser executados simultaneamente ou consecutivamente.

Normalmente, digito todos eles manualmente em seus painéis separados; Eu tenho um pouco de um layout personalizado acontecendo.

tjt263
fonte

Respostas:

1

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

ktsujister
fonte
11
Legal, mas e se eu ainda não estiver em uma tmuxsessão? Eu gostaria que ele fosse salvo como um .shscript (ou similar), se possível. Eu acho que você pode estar em algo aqui. Obrigado!
tjt263
Janelas e painéis que são abertos nos comandos acima serão fechados quando isso {command}terminar. Por exemplo, tmux new datelança uma nova janela que é executada datee, como o datecomando termina imediatamente, a tmuxsessão também é finalizada.
precisa saber é o seguinte
Não funciona para mim.
BonsaiOak