我一直在玩我的主目录中的 .profile 文件,以便在提示符上显示 git 分支,并显示我当前在的 rvm gemset 和 python 虚拟环境...大部分都工作正常,问题我所拥有的是,为了根据分支的状态以不同的颜色显示分支,我必须每次都执行 source ~/.profile,我也必须这样做才能显示 python virtualenv青色。
必须有一种方法或我缺少的东西,这样我就不必每次进入不同的文件夹时都运行 source ~/.profile,以便分支颜色基于状态。
这是我的.profile
https://gist.github.com/3628788
感谢您帮助解决这个问题!
使用 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()
。