在处理多个 tmux 会话时,我注意到一些奇怪的事情。我不确定所有的术语,所以如果我有什么不对请纠正我。
在第一个之后创建 tmux 会话不会继承创建它的环境,它们会继承产生第一个会话的环境。
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
然后echo $a $b
从任一会话执行都会给出输出true false
。我期待true true
着第二届会议。
我不知道 tmux 是如何“记住”第一个会话的环境的。我可以进行另一个实验:
如果我在第一个会话中更新环境、分离并生成第二个会话,第二个会话不会继承更新。
另一个实验:
如果我在创建第一个会话后退出子 shell(因此“忘记”了环境变量a
),并生成第二个会话,第二个会话仍然会记住环境。
我想更好地了解为什么会发生这种情况以及 tmux 在幕后所做的一些事情,因此我们非常感谢这方面的任何建议。