Mac OSX提示git branch知道

mau*_*ado 5 git macos bash command-prompt

我一直在我的主目录中使用.profile文件,为了在提示符上显示git分支,还显示我目前正在使用的rvm gemset和python虚拟环境...大多数都工作正常,问题是我我有的是,为了显示不同颜色的分支,取决于我必须每次都做源〜/ .profile的分支状态,我也必须这样做才能在CYAN中显示python virtualenv.

Theres必须是一种我不知道的方式或东西,这样我每次进入不同的文件夹时都不必运行source~/.profile,以便分支颜色基于状态.

继承人我的.profile

https://gist.github.com/3628788

感谢您的帮助解决这个问题!

che*_*ner 6

使用PROMPT_COMMAND变量来定义一个设置PS1每个命令后的函数.将它放在.profile文件的底部,代替赋值给PS1:

prompt_cmd () {
    PS1="${PYTHON_VIRTUALENV}$PURPLE\$(set_rvm_prompt)$NO_COLOUR\u@\h:[\W]${B_STATE}\$(parse_git_branch)$NO_COLOUR\$ "
}

PROMPT_COMMAND=prompt_cmd
Run Code Online (Sandbox Code Playgroud)

现在,只需显示你的提示之前,bash将执行功能prompt_cmd,更新PS1根据对最新的信息PYTHON_VIRTUALENV,set_rvm_prompt()以及parse_git_branch().