【发布时间】:2013-02-06 19:36:27
【问题描述】:
当我启动 tmux 时,tmux 会自动设置 RBENV_VERSION...
有人知道如何阻止它吗?
因为它自动设置它,我需要这样做
$ export RBENV_VERSION
取消设置并使 .ruby-version 工作。谢谢。
【问题讨论】:
-
哦,也许我找到了原因。 mabye tmux 是自动设置。 :O
-
编辑标题和正文
当我启动 tmux 时,tmux 会自动设置 RBENV_VERSION...
有人知道如何阻止它吗?
因为它自动设置它,我需要这样做
$ export RBENV_VERSION
取消设置并使 .ruby-version 工作。谢谢。
【问题讨论】:
tmux 本身永远不会自行设置(或取消设置)RBENV_VERSION。您有一些配置导致了这种情况。
我的猜测是 RBENV_VERSION 是在您启动 tmux 服务器时设置的,现在它是 tmux “全局环境”(所有人继承的基础环境)的一部分tmux 启动的进程)。你可以看看这个
tmux show-environment -g | grep RBENV
如果它存在,您可以使用以下命令将其删除:
tmux set-environment -gu RBENV_VERSION
如果您经常发现自己在 RBENV_VERSION 已设置时启动 tmux(并且您不希望它在“内部”发送 tmux),那么您可以添加上述命令到您的 ~/.tmux.conf 文件中,以确保每次启动服务器时都将其清除。
另一种可能性是它是您的tmux“会话环境”的一部分;该环境在全局环境之上“分层”,以形成由会话中为新窗口和窗格启动的进程所继承的环境。你可以用这个命令检查它(在会话中运行它,或者添加-t sessname来指定一个会话):
tmux show-environment | grep RBENV
如果存在,您可以用类似的方式取消设置:
tmux set-environment -u RBENV_VERSION
最后,如果变量在全局或会话环境中都不存在,那么它可能来自您的 shell 初始化文件中的某些内容。默认情况下,tmux 会启动登录 shell,因此请务必检查 shell 配置的相应位(例如 .bash_profile、.bash_login、.profile 等)以及其他任何位初始化。
【讨论】:
set-environment -gu RBENV_VERSION 添加到我的 ~/.tmux.conf 顶部解决了它。再次感谢!