Terminator 또는 Guake 터미널과 같은 터미널은 .bashrc 파일에 설정된 git 프롬프트 구성 파일을 구문 분석할 수 없습니다. guake 및 terminator 터미널 사용의 기반으로 xterm을 사용하는 터미널의 경우 PS1 변수가 설정되지 않습니다. 따라서 사용자 정의 함수를 사용하여 사용자 정의 경로를 표시하는 경우(현재 디렉터리가 GIT 디렉터리인 경우) 이러한 변수나 함수는 아무런 영향을 미치지 않습니다.
예: $parse_git_branch
답변1
해결책을 찾았습니다. 홈 디렉터리에 있는 .bashrc 파일을 사용하는 것이었습니다. 이 파일을 텍스트 편집기에서 열면 현재 터미널이 xterm인지 확인하고 그에 대한 일부 값을 설정하는 줄을 찾을 수 있습니다.
# If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac
따라서 주어진 PS1을 #으로 주석 처리하고 PS1을 다음 값으로 바꾸십시오.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
# If this is an xterm set the title to user@host:dir
# old value:PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
case "$TERM" in
xterm*|rxvt*)
PS1="${debian_chroot:+($debian_chroot)}\[\033[1;34m\]\H:\[\033[1;35m\]\[\033[1;35m\]\w\[\033[1;92m\]\$(parse_git_branch)\[\033[0m\]$ "
;;
*)
;;
esac