tmux 为不同的会话设置会话变量
tmux set session variable for different sessions
我只是想为 tmux 会话设置一个 shell 环境。起初它像预期的那样工作:
export MY_VARIABLE=123
tmux new-session
# in session
echo $MY_VARIABLE
-> 123
现在我分离会话并创建第二个会话:
tmux detach
echo $MY_VARIABLE
-> 123
export MY_VARIABLE=456
echo $MY_VARIABLE
-> 456
tmux new-session
# in new session
echo $MY_VARIABLE
-> 123
# list session to see it is really a new one
tmux list-sessions
-> 0: 1 windows ...
-> 1: 1 windows ... (attached)
如果我退出旧会话(不是分离),那么它将按预期工作。看起来变量在会话之间是同步的?在启动 tmux 会话后,如何将其拆分为单独的 $MY_VARIABLE?
看起来这是 tmux 的一个特性:变量共享。通过连接不同的socket,可以设置不同的变量(通过this stackexchange question发现):
export MY_VARIABLE=123
tmux -L socket_name new-session
# in session
echo $MY_VARIABLE
-> 123
tmux -L socket_name detach
export MY_VARIABLE=456
tmux -L another_socket new-session
# in new session
echo $MY_VARIABLE
-> 456
我只是想为 tmux 会话设置一个 shell 环境。起初它像预期的那样工作:
export MY_VARIABLE=123
tmux new-session
# in session
echo $MY_VARIABLE
-> 123
现在我分离会话并创建第二个会话:
tmux detach
echo $MY_VARIABLE
-> 123
export MY_VARIABLE=456
echo $MY_VARIABLE
-> 456
tmux new-session
# in new session
echo $MY_VARIABLE
-> 123
# list session to see it is really a new one
tmux list-sessions
-> 0: 1 windows ...
-> 1: 1 windows ... (attached)
如果我退出旧会话(不是分离),那么它将按预期工作。看起来变量在会话之间是同步的?在启动 tmux 会话后,如何将其拆分为单独的 $MY_VARIABLE?
看起来这是 tmux 的一个特性:变量共享。通过连接不同的socket,可以设置不同的变量(通过this stackexchange question发现):
export MY_VARIABLE=123
tmux -L socket_name new-session
# in session
echo $MY_VARIABLE
-> 123
tmux -L socket_name detach
export MY_VARIABLE=456
tmux -L another_socket new-session
# in new session
echo $MY_VARIABLE
-> 456