我尝试在我的提示中集成当前的git分支,但它没有按预期运行。我在ubuntu 16.04和git 2.7.4上使用bash。
当我启动终端时,没有显示任何git。如果我从存储库中获取.bashrc
,则会显示分支,但不再更新。这是我在.bashrc中写的:
green="\[\033[01;32m\]"
blue="\[\033[01;34m\]"
no_color="\[\033[00m\]"
purple="\[\033[01;35m\]"
source /etc/bash_completion.d/git-prompt
export PS1="$purple\u $green$(__git_ps1 "(%s)") $blue\W $no_color \$ "
答案 0 :(得分:0)
好的,我找到了解决方案。没有必要使用prompt命令。该错误是由语法错误引起的。
如果我使用""
分配PS1的内容以使用我的变量作为颜色,它只会在.bashrc
来源时执行__git_ps1函数。
但是,当我在''
内分配PS1内容并且没有颜色变量并且将代码写出来时,它会按预期工作。当我阅读here时,似乎更好的做法是不将PS1导出到环境中。
所以解决方案如下:
PS1='\[\033[01;35m\]\u \[\033[01;32m\]$(__git_ps1 " (%s)") \[\033[01;34m\]\W \[\033[00m\] \$ '
然而,我很想知道,原因是什么。它适用于macOS中的""
。