我正在尝试重置我的.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?我能做什么来调试这个,因为我完全卡住了?!
编辑:
- 我应该注意到,我仍在运行旧的 TMUX 会话,这些会话是在编辑我的
.bashrc
. - 以下是 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]\$