2013-02-15 25 views
0

我的Ubuntu 12.10之下,我已经安装了这个混帐提示感知:https://github.com/jimeh/git-aware-prompt在Ubuntu下的Git分支提示不工作

每当我在其中有一个Git仓库的目录,我需要做的源~/.bash_profile显示分支。如果我不这样做,它不会显示出来。但是,当我关闭终端并转到同一个目录时,我需要再次执行~/.bash_profile,为什么会发生这种情况?

我的问题是,在我的.bashrc已经定义PS1为:

case "$TERM" in 
    xterm-color) color_prompt=yes;; 
esac 

# uncomment for a colored prompt, if the terminal has the capability; turned 
# off by default to not distract the user: the focus in a terminal window 
# should be on the output of commands, not on the prompt 
force_color_prompt=yes 

if [ -n "$force_color_prompt" ]; then 
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then 
    # We have color support; assume it's compliant with Ecma-48 
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such 
    # a case would tend to support setf rather than setaf.) 
    color_prompt=yes 
    else 
    color_prompt= 
    fi 
fi 

if [ "$color_prompt" = yes ]; then 
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 
else 
    PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ ' 
fi 
unset color_prompt force_color_prompt 

# If this is an xterm set the title to [email protected]:dir 
case "$TERM" in 
xterm*|rxvt*) 
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1" 
    ;; 
*) 
    ;; 
esac 

这将覆盖我在.bash_profile文件:

export GITAWAREPROMPT=~/.bash/git-aware-prompt 
source $GITAWAREPROMPT/main.sh 
export PS1="\[email protected]\h \w\[$txtcyn\]\$git_branch\[$txtylw\]\$git_dirty\[$txtrst\]\$ " 

我怎样才能将这些PS1的两设置?

回答

1

~/.bash_profile的内容放入~/.bashrc。每次启动终端时,都会读取~/.bashrc的内容。