tmux 继续使用 .bashrc 中不再定义的变量

tmux 继续使用 .bashrc 中不再定义的变量

我正在尝试重置我的.bashrc,因为它已经变得臃肿并且启动控制台需要很长时间。

为此,我做了以下工作:

cp /etc/skel/.bashrc ~/.bashrc

这适用于普通的登录 bash shell。

但我也使用 TMUX 进行终端多路复用,它似乎没有更新/删除以前定义的环境变量(不再存在)......例如:

我重新定义了PS1来输出git信息。我以前的定义.bashrc是:

function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='\u@\h \[\033[1;33m\]\W\[\033[0m\] \[\e[91m\]$(parse_git_branch)\[\e[00m\]$ '

现在,它不再在 中定义.bashrc,在执行每个命令后(当它打印提示时),我在 TMUX 中收到以下错误:

-bash: parse_git_branch: command not found

当我使用以下命令启动新的 TMUX 会话时会发生这种情况:

tmux new -s TEST

在 TMUX 之外,一切都按预期运行。

我是否需要单独重置 TMUX?我能做什么来调试这个,因为我完全卡住了?!

编辑:

  1. 我应该注意到,我仍在运行旧的 TMUX 会话,这些会话是在编辑我的.bashrc.
  2. 以下是 TMUX 中与外部的值$PS1,作为某事物“奇怪”的“证据”:

TMUX 内部:

$ echo $PS1
\u@\h \[\e[32m\]\W \[\e[91m\]$(parse_git_branch)\[\e[00m\]$
-bash: parse_git_branch: command not found

外部 TMUX:

$ echo $PS1
[\u@\h \W]\$

相关内容