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.

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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.