git config --global 返回 "syntax error near unexpected token ` )'"错误

标签 git command-prompt

当我尝试时:

$ 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/

相关文章:

windows - 尝试在 git 中设置一个新的编辑器

macos - bitbucket git push 身份验证失败 (mac os x)

git - 强制 Git 用户在工作副本中设置电子邮件地址

windows - 如何在不关闭命令提示符窗口的情况下返回错误代码?

cmd - 同时更改驱动器和目录

python 动态回答终端提示是/否

git - 将某些命令分配给用户

git - 相当于 Git 中的 Clearcase 基线和 Clearcase 事件?

windows - 与Linux等效的Windows:查找-name

windows - 使用命令提示符启动已保存的 Python 程序时遇到问题