当我尝试时:
$ git config --global user.name "Me"
它返回这个错误:
bash: command substitution: line 1: syntax error near unexpected token `)'
bash: command substitution: line 1: `__git_ps1)'
我在 Windows 7 上的 C:\opt\git-2.6.3 和我的 上运行 Git 2.6.3>.gitconfig 一开始是空的。
但是,除了这个错误之外,它还充满了:
[user]
name = Me
并且,对于我键入的每个命令,提示都会返回相同的错误...
我该如何解决这个问题?
怀着感激之情,
最佳答案
我也追踪到了 $(__git_ps1) 之后的\n
简化 PS1 提示:
这个有效:
PS1='$(__git_ps1)'
这不是;它给出语法错误消息:
PS1='$(__git_ps1)\n'
但是,在 ASCII 中给出\n 确实有效:
PS1='$(__git_ps1)\012'
有趣的是,在\012 之后你可以再次使用\n:
PS1='$(__git_ps1)\012\n'
注意:我在我的 PS1 中发现了其他错误;不确定他们之前是否在那里,当我更新 git 时发生了一些奇怪的事情,或者可能(可能!)从我在遥远的过去的困惑中......
我的 PS1(今天早些时候更新 git 之后)是:
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]\n\[\033[32m\]\u@\h \[\033[33m\]\w \[\033[1m\]\[\033[31m\]$(__git_ps1)\[\033[0m\]\n$ '
这给出了语法错误,但第一个转义序列也是错误的:
wrong! PS1='\[\033]0;$MSYSTEM ...
right! PS1='\[\033[0;m$MSYSTEM ...
\033 之后的括号是向后的并且缺少“m”...
我修正后的 PS1 现在是:
PS1='\[\033[0;m$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]\n\[\033[32m\]\u@\h \[\033[33m\]\w \[\033[1m\]\[\033[31m\]$(__git_ps1)\[\033[0m\]\012$ '
这给我的提示是:
MINGW64:/c/Users/aweiner <-white
aweiner@ajw-sony ~ <- green, dir in yellow, git branch name in red
$
(是的,它太冗长了,所以我可能会再弄乱它......)
关于git config --global 返回 "syntax error near unexpected token ` )'"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712750/