我已将我的Windows机器设置为unix。
我已经安装了包含git-bash
的gitforwindows我正在尝试在命令提示符下显示当前的git分支,但它无法正常工作。
我在.bashrc中有PS1=$TIME$USER$HOST$LOCATION$BRANCH
TIME,USER,HOST,LOCATION工作正常,与ubuntu和osx相同
然而分支没有显示,我得到:
bash: command substitution: line 1: syntax error near unexpected token `)'
bash: command substitution: line 1: `git branch)'
BRANCH是:
BRANCH=' \[\033[00:33m\]$(git_branch) \[\033[00\]\n\$ '
和git_branch函数 - 在隔离使用时工作正常定义为:
git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}
我尝试过的每种格式都失败了:(
PS1的其余部分如下所示:
在UNIX上,当我在git repo中时,我可以看到这样的分支:
答案 0 :(得分:1)
git-prompt.sh
是Git的bash完成脚本之一,提供了一个函数git branch
,其目的是显示当前分支。它比对PS1
的简单调用更强大。 Git bash应该可以开箱即用。
您应该可以通过配置__git_ps1
来呼叫PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
来启用它,例如
\u
这将包括用户(\h
),主机(\W
)和工作目录($USER
)以及分支,因此您可以替换任何{ {1}},$HOST
和$LOCATION
是。我不确定你的$TIME
做了什么,但我相信你可以自己弄明白如何将它添加到提示中。