我有以下在线找到的简洁助手,如果我在 git repo 中,它会始终显示我当前的 git 分支:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\u@\h \[\e[32m\]\w \[\e[91m\]\$(parse_git_branch)\[\e[00m\]$ "
我有它在我的.bashrc
:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\u@\h \[\e[32m\]\w \[\e[91m\]\$(parse_git_branch)\[\e[00m\]$ "
source ~/.bash_profile
...
.bash_profile
出于某种原因我也把它放在我的
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\u@\h \[\e[32m\]\w \[\e[91m\]\$(parse_git_branch)\[\e[00m\]$ "
如果我运行source ~/.bash_profile'
它,它会工作,并显示 git 分支。但是,如果我通过按 ctrl+shift+t 添加新终端,它会在右侧添加一个新终端,但它不会显示。如果我清除 ubuntu 终端并重新打开它并 cd 到 git repo,它也不会显示。
答案1
事实证明,PS1
决定终端显示的变量还有更多设置。在.bashrc
文件大约一半的位置:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\>
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
如果我将 git 分支显示移到底部,.bashrc
它现在在打开任何新终端时都可以工作