Percebi algo peculiar ao trabalhar com várias sessões do tmux. Não tenho certeza de toda a terminologia, então, por favor, corrija-me se eu entender algo errado.
A criação de sessões tmux além da primeira não herda o ambiente do qual foi criada, elas herdam o ambiente que gerou a primeira sessão.
export a=false; export b=false
bash
export a=true
tmux new-session -d -s first
bash
export b=true
tmux new-session -d -s second
em seguida, a execução echo $a $b
de qualquer sessão fornece a saída true false
. Eu estava esperando true true
para a segunda sessão.
Não sei como o tmux "lembra" o ambiente da primeira sessão. Posso realizar outro experimento:
Se eu atualizar o ambiente na primeira sessão, desanexar e gerar uma segunda sessão, a segunda sessão não herdará a atualização.
E outro experimento:
Se eu sair do subshell depois de criar a primeira sessão (assim "esquecendo" a variável de ambiente a
) e gerar uma segunda sessão, a segunda sessão ainda se lembrará do ambiente.
Eu gostaria de saber melhor por que isso está acontecendo e um pouco do que o tmux está fazendo nos bastidores, então qualquer conselho nessa direção é bem-vindo.