我一直在玩我的主目录中的.profile文件,为了在提示符上显示git分支,还显示rvm gemset和python虚拟env我当前在... ...大多数都工作正常,问题我所拥有的是为了根据分支的状态显示不同颜色的分支我每次都要做源〜/ .profile,我也必须这样做以显示python virtualenv在CYAN。
Theres必须是我失踪的一种方式或某种东西,这样我每次进入不同的文件夹时都不必运行source~ / .profile,以便分支颜色基于状态。
继承人我的.profile
https://gist.github.com/3628788
感谢您帮助解决这个问题!
答案 0 :(得分: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
现在,在显示提示之前,bash
将执行功能prompt_cmd
,根据PS1
,PYTHON_VIRTUALENV
更新set_rvm_prompt()
以获取最新信息,和parse_git_branch()
。