tmux new-session 将导致重复的路径条目

tmux new-session 将导致重复的路径条目

我在用 Mac。当我tmux new-session -s新建一个会话时,窗口中会出现一个$PATH随机顺序的重复条目,这与 Tmux 之外的条目不同。

但是,如果我C-b c在同一个 Tmux 会话中创建一个新窗口,$PATH输入将再次正常且正确。我完全迷路了,想知道如何调试它。

这会导致我为 Tmux 编写的一些脚本无法执行。这些脚本以前运行得很好,但现在却不行了。

答案1

最后我发现 tmux 总是会调用 shell 的配置文件,而不仅仅是 rc。因此,如果您像我一样使用 bash,它将调用 /etc/profile,而 /etc/profile 又会调用 path_helper。

为了修复此问题,请更改/etc/profile为:

if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

如果你正在使用 bash,也请将export PATH=$PATH:/foo其中的 any 更改.bashrc

if [[ -z $TMUX ]]; then
  export PATH=$PATH:/foo
fi

然后重新启动终端(例如 Iterm)。一切都应该很好!

答案2

如果重复的环境变量键对应的值相同,则不会导致脚本失败。

让您的脚本优雅地处理冗余信息,并且仅当同一个单键出现不同的值时才中止。

相关内容