Git 自动完成:意外标记“换行符”附近的语法错误

Git Autocompletion: syntax error near unexpected token `newline'

我查看了有关此问题的不同问题,none 似乎与我的相同:git 在 Mac 10.10.2

上的新安装

我已经使用下面的安装自动完成:

curl -OL https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

我也尝试过以上方法:-O

我已将 . 添加到下载的文件中:

mv ~/git-completion.bash ~/.git-completion.bash

然后我编辑 bash_profile 并插入行以在终端加载时自动加载:

if [ -f ~/.git-completion.bash ]; then
  source ~/.git-completion.bash
fi

重新启动终端时:

Users/user/.git-completion.bash: line 4: syntax error near unexpected token `newline'

下载的文件或我的 OS 是否有问题?

我遇到了类似的错误:git-completion.bash: line 155: syntax error near unexpected token。该文件看起来不错,所以我做了 brew install bash 并且错误消失了。当前一个是 4.3.39,上一个是:

$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)

希望对搜索错误消息的人有所帮助。

curl -OL https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

这不是真正的“.bash”文件。 (看起来像网站 html 文件)

如果你想 git-completion.bash 文件,

连接站点“https://github.com/git/git

单击 "Download ZIP" 按钮

谢谢。

我找到了解决办法。我有一个与你完全相同的错误。

  1. 从以下位置下载文件 https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash 并另存为 .bash 文件
  2. 打开终端
  3. 如果您的用户文件夹中有任何以前的 git-completion.bash 文件,请删除该文件
  4. 将下载的文件复制到用户文件夹
  5. 在终端中输入以下内容,确保你在用户目录中 mv ~/git-completion.bash ~/.git-completion.bash
  6. 输入终端 nano .bash_profile
  7. ctr+x mac 用户
  8. 输入以下代码

    `if [ -f ~/.git-completion.bash ]; then
        source ~/.git-completion.bash
     fi`
    
  9. 按ctr+x退出.bash_profile, select 'Y'
  10. 关闭终端并重新打开它。
  11. 要检查自动完成,请键入 git h 并按 Tab 键以自动完成帮助。

问题是由下载文件中的换行符引起的。因此,您可以在 github 页面上按 'raw' 按钮并复制脚本的原始内容。然后使用文本编辑器将 git-completion.bash 的内容替换为原始内容,保存并开始使用。

你用错了URL:

curl -o ~/.git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

=>对于 Mac 用户

=> 安装自制程序

=> 安装 Git and bash-completion: brew install git && brew install bash-completion (注意:如果此安装失败并出现 404 错误,并且您已经安装了 git,只需删除此 brew install 的 git 部分)

=> 添加 bash-completion 到你的 ~/.bash_profile:

if [-f brew --prefix/etc/bash_completion.d/git-completion.bash ];然后 . brew --prefix/etc/bash_completion.d/git-completion.bash fi