Como criar um script em todos os painéis e janelas de uma sessão tmux específica

2

Eu tenho um script de shell específico para um projeto que cria variáveis de ambiente, aliases e executa alguns comandos.

Eu quero criar uma sessão do tmux para este projeto que irá fornecer o meu shell script ao criar um novo painel ou janela na sessão do tmux.

Como posso especificar o tmux para criar um arquivo ou executar o comando em todos os novos painéis ou janelas de uma sessão específica?

    
por jmlrt 28.08.2015 / 08:33

1 resposta

0

Defina a opção default-command para a sessão executar seu shell (suponho que seja bash ) com a opção --rcfile para usar seu script de shell como o arquivo de inicialização

set-option -g default-command "bash --rcfile yourscript.sh"

Como --rcfile substitui .bashrc , você adiciona source .bashrc ao início de yourscript.sh . Se você normalmente iniciasse um shell de login em uma janela tmux , adicione source .bash_profile .

Para ter comandos padrão separados para sessões diferentes, você precisa criar a sessão primeiro e, em seguida, definir seu comando padrão.

tmux new-session -s projectA
tmux set-option -s -t projectA default-command "bash --rcfile projectA.sh"

Você pode querer definir uma função de shell para simplificar a configuração de uma nova sessão, algo como

new_session () {
    tmux new-session -s "$1"
    tmux set-option -s -t "$1" default-command "bash --rcfile $1.sh"
}
    
por 29.08.2015 / 04:58

Tags