.bashrc
너무 부풀어 오르고 콘솔을 시작하는 데 시간이 오래 걸리기 때문에 재설정하려고 합니다 .
이를 위해 다음을 수행했습니다.
cp /etc/skel/.bashrc ~/.bashrc
이는 일반 로그인 bash 쉘에서 작동합니다.
하지만 터미널 멀티플렉싱에도 TMUX를 사용하고 있는데 이전에 정의한 환경 변수(더 이상 존재하지 않음)를 업데이트/제거하지 않는 것 같습니다. 예를 들면 다음과 같습니다.
Git 정보를 출력하기 위해 PS1을 재정의했습니다. 내 이전 정의는 .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\]$ '
이제 더 이상 TMUX에 정의되어 있지 않으므로 .bashrc
각 명령을 실행한 후(프롬프트가 인쇄될 때) 다음 오류가 발생합니다.
-bash: parse_git_branch: command not found
다음을 사용하여 새 TMUX 세션을 시작할 때 이런 일이 발생합니다.
tmux new -s TEST
TMUX 외부에서는 모든 것이 예상대로 작동합니다.
TMUX를 별도로 재설정해야 하나요? 완전히 막혔으니 디버깅하려면 어떻게 해야 하나요? !
편집하다:
- 내
.bashrc
. $PS1
무언가가 "이상하다"는 "증거"로서 TMUX 내부 및 외부의 값은 다음과 같습니다 .
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]\$