tmux为不同的会话设置会话变量

时间:2015-10-09 12:51:30

标签: environment-variables tmux

我只是尝试为tmux会话设置shell env。起初它的工作方式与预期相符:

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?

1 个答案:

答案 0 :(得分:1)

看起来这是tmux:变量共享的一个功能。通过连接到不同的套接字,可以设置不同的变量(由this stackexchange question找到):

#include<iostream>
#include<vector>

using namespace std;

int main()
{
    const size_t vs = 200<<20;
    vector<char> v(vs);
    int value = 0;
    int index = 1;
    v[0] = 1;

    while(index < 20132014)
    {
        if((value - index) > 0 && !v[value - index])
        {
            value -= index;
        }
        else
        {
            value += index;
            if(value >= vs)
            {
                cout << "vector too small " << index << endl;
                return 0;
            }
        }
        index++;
        v[value] = 1;
    }

    cout << value << endl;
    return 0;
}