Terminal
Terminator 或 Guake 等終端無法解析 .bashrc 文件中設置的 git 提示配置文件
Terminator 或 Guake 等終端無法解析 .bashrc 文件中設置的 git 提示配置文件。PS1 變數未為使用 xterm 作為 guake 和 terminator 終端使用的基礎的終端設置。因此,如果自定義函式用於顯示自定義路徑,如果目前目錄是 GIT 目錄,那麼這些變數或函式將不起作用。
例如:$parse_git_branch
我想出了解決方案,它是在我的主目錄中使用 .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