当我启动tmux时,tmux自动设置RBENV_VERSION...有人知道怎么阻止它吗?因为它会自动设置,我需要做的是$ export RBENV_VERSION取消设置并使. ruby版本工作。谢谢。
$ export RBENV_VERSION
7ivaypg91#
我猜RBENV_VERSION是在启动 tmux 服务器时设置的,现在它是 tmux“全局环境”(由 tmux 启动的所有进程继承的基本环境)的一部分。You can check this
tmux show-environment -g | grep RBENV
如果它存在,您可以使用此命令删除它:
tmux set-environment -gu RBENV_VERSION
如果你经常发现自己在RBENV_VERSION已经设置好的情况下启动 tmux(并且你不希望它在 tmux 内部发送),那么你可以将上面的命令添加到你的~/.tmux.conf文件中,以确保每次启动服务器时都清除它。另一种可能性是它是你的 tmux“会话环境”的一部分;该环境被“分层”在全局环境之上,以形成由针对会话中的新窗口和窗格启动的进程继承的环境。您可以使用以下命令检查它(在会话中运行它,或添加-t sessname以指定会话):
~/.tmux.conf
-t sessname
tmux show-environment | grep RBENV
如果存在,您可以通过类似的方式取消设置:
tmux set-environment -u RBENV_VERSION
最后,如果该变量在全局或会话环境中都不存在,那么它可能来自shell初始化文件中的某些内容。默认情况下,tmux 启动登录shell,因此请确保检查shell配置的相应位(例如:.bash_profile、.bash_login、.profile等)以及初始化的任何其它位。
.bash_profile
.bash_login
.profile
gg0vcinb2#
要检查环境变量是否是tmux会话环境的一部分,请查看
tmux show-environment
然后对全球环境做同样的事情:
tmux show-environment -g
tmux默认启动登录shell,因此您可以清除全局环境并让登录shell从头开始构建它(从~/.profile等)。这里有一个方法来做到这一点:
(tmux show-environment -g |less |sed 's/=.*//' |while read e; do tmux set-environment -gu -- "$e"; done)
2条答案
按热度按时间7ivaypg91#
我猜RBENV_VERSION是在启动 tmux 服务器时设置的,现在它是 tmux“全局环境”(由 tmux 启动的所有进程继承的基本环境)的一部分。You can check this
如果它存在,您可以使用此命令删除它:
如果你经常发现自己在RBENV_VERSION已经设置好的情况下启动 tmux(并且你不希望它在 tmux 内部发送),那么你可以将上面的命令添加到你的
~/.tmux.conf
文件中,以确保每次启动服务器时都清除它。另一种可能性是它是你的 tmux“会话环境”的一部分;该环境被“分层”在全局环境之上,以形成由针对会话中的新窗口和窗格启动的进程继承的环境。您可以使用以下命令检查它(在会话中运行它,或添加
-t sessname
以指定会话):如果存在,您可以通过类似的方式取消设置:
最后,如果该变量在全局或会话环境中都不存在,那么它可能来自shell初始化文件中的某些内容。默认情况下,tmux 启动登录shell,因此请确保检查shell配置的相应位(例如:
.bash_profile
、.bash_login
、.profile
等)以及初始化的任何其它位。gg0vcinb2#
要检查环境变量是否是tmux会话环境的一部分,请查看
然后对全球环境做同样的事情:
tmux默认启动登录shell,因此您可以清除全局环境并让登录shell从头开始构建它(从~/.profile等)。这里有一个方法来做到这一点: