mac OS 中的自动完成 git 不起作用?
Posted
技术标签:
【中文标题】mac OS 中的自动完成 git 不起作用?【英文标题】:Autocomplete git in mac OS not working? 【发布时间】:2011-06-01 22:51:09 【问题描述】:我在 mac 中使用 git。我正在尝试使用自动完成功能。我遵循了这些步骤(http://www.codethatmatters.com/2010/01/git-autocomplete-in-mac-os-x/),但我得到了这个错误,知道吗?
: 找不到命令
-bash:/Users/me/git-completion.bash:第 80 行:未执行标记附近的语法错误 in
-bash: /Users/me/git-completion.bash: line 80:
case "$COMP_WORDBREAK'" in
【问题讨论】:
COMP_WORDBREAK 似乎有问题:groups.google.com/group/gnu.bash.bug/browse_thread/thread/… 这是关于段错误的;我很确定胡里奥遇到了不同的问题。 顺便说一下,我建议标记此bash
而不是terminal
。
该脚本中的case
语句对我来说在 Linux 系统上的 Bash 2.05、3.2 和 4.0 中运行良好。要么是 OS X 特定的东西,要么是脚本的其他部分导致了这个误导性错误消息,或者文件已损坏(或者你的 Bash 可执行文件有问题)。错误消息显示“未执行”而不是“意外”似乎很奇怪。您可以编辑您的问题并发布完整的错误消息(部分似乎丢失)和脚本的第 79-84 行吗?同时,您可以尝试重新下载脚本以防它损坏。
它适用于 Snow Leopard (10.6),其中包括“GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin10.0)”你真的运行 curl -O还是您尝试将文本复制粘贴到 TextEdit 中?
【参考方案1】:
我曾尝试使用 curl -O,但 url 错误,我最终复制了导致错误的文本。
使用此命令使其完美运行:
curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
非常感谢大家的帮助!
【讨论】:
这将获得最新版本,而不是您安装的 git 的正确版本。下面是获取正确版本并安装它的代码:eval "$(curl -s https://gist.github.com/raw/972430/install-git-completion.sh)"
。更多johnfgibb.com/how-to-install-git-autocompletion
更新后的链接是raw.github.com/git/git/master/contrib/completion/… - 但约翰的要点中的代码对我不起作用:-bash: syntax error near unexpected token '<'
这有效:eval $(curl -s https://raw.github.com/git/git/master/contrib/completion/git-completion.bash)
Github 更改了他们的网址——任何尝试使用我以前的 sn-p 的人现在都应该使用:eval "$(curl -s gist.githubusercontent.com/johngibb/972430/raw/…)"【参考方案2】:
分发的 git-completion.bash 是一个 Windows 文件,其中 "\n\r" 作为换行符。您需要删除“\r”。
对于 vim 用户,只需执行 ":set ff=unix"。
【讨论】:
谢谢,效果很好!还学习了一个新的 vim 命令。【参考方案3】:由于没有人回答,请快速检查一下:bash --version
说什么? OS X 倾向于发布稍微过时的 bash,因此如果您的系统较旧,则可能是兼容性问题。我希望 Bash 3.x 可以正常工作,但对于 2.x,我不太确定。
【讨论】:
GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin10.0) 版权所有 (C) 2007 Free Software Foundation, Inc.【参考方案4】:来自您的错误报告:
case "$COMP_WORDBREAK'" in
^ the problem is in unpaired apostrophe
【讨论】:
【参考方案5】:保存文件,例如在 gedit 中使用 Linux 行尾
【讨论】:
【参考方案6】:正在获取 .git-completion.bash: bash: bad interpreter: No such file or directory in Mountain Lion。
应该是 ~/.bash_profile 中的“source ~/.git-completion.bash”
【讨论】:
以上是关于mac OS 中的自动完成 git 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
PhpStorm 中的 TailwindCSS 自动完成功能不起作用
Github webhook 的 Jenkins 自动构建不起作用