【问题标题】:"bash: __gitdir: command not found" error in terminal终端中的“bash:__gitdir:找不到命令”错误
【发布时间】:2012-01-09 00:34:05
【问题描述】:

每当我在命令窗口中工作时,我都会在工作行的正上方收到错误:“bash: __gitdir: command not found”(换句话说,在任何命令之后,在提示输入新命令之前) .

有什么想法会引发这个问题吗?

【问题讨论】:

    标签: git bash terminal


    【解决方案1】:

    __gitdirgit-completion.bash 脚本提供的一个函数,当您键入git 命令时,它可以让bash 自动完成。您是否在您的.bashrc 或其他配置文件/登录脚本中使用__gitdir 而不使用git-completion.bash

    【讨论】:

      【解决方案2】:

      您的.bashrc 文件中可能有调用该命令的内容。

      尝试在其中搜索 __gitdir:

      $ grep __gitdir ~/.bashrc
      

      或者发布它的内容,它可能会更容易提供帮助。

      【讨论】:

      • 是的,我们在 .bashrc 文件中调用它。谢谢!
      【解决方案3】:

      可以通过__git_ps1函数启用花哨的git提示符,该函数可以嵌入到PS1中,并在每次打印提示符时调用。它是在采购特定但可能与定义__gitdir 的文件不同的文件时定义的。 __git_ps1(调用__gitdir)可能在/etc/bash_completion.d/git-prompt/usr/share/git-core/contrib/completion/git-prompt.sh/etc/bash_completion.d/git(等)...

      但是,如果 __git_ps1 最终被定义,但 __gitdir 没有,那么您会收到此错误(每次打印提示时)。例如,如果__gitdir/etc/* 中定义,但__git_ps1/usr/share/* 中找到,那么在chroot 环境中,您最终可能会定义__git_ps1 但未定义__gitdir

      要“消除”错误消息,要么删除花哨的 git 提示符,要么直接定义它:__gitdir() { :; }

      【讨论】:

        【解决方案4】:

        这不会完全解决原始问题上下文,但可能对从旧版本迁移的新 Ubuntu 用户有用...

        我最近将一台旧的 Ubuntu 12.04 机器升级到了较新版本的 Ubuntu,我开始看到由于我的 PS1 设置而缺少有关 __git_dir 的错误,正如其他答案所解释的那样。为了理解为什么不再定义这个 shell 函数,我认为我的 .bashrc 不是最新的 Ubuntu 约定。

        我的旧 .bashrc 基于旧 Ubuntu 系统最初提供的 .bashrc 有类似的东西:

        if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
          . /etc/bash_completion
        fi
        

        而较新的 Ubuntu 系统创建的 .bashrc 文件首先尝试使用 /usr/share/bash-completion/bash_completion

        if ! shopt -oq posix; then
          if [ -f /usr/share/bash-completion/bash_completion ]; then
            . /usr/share/bash-completion/bash_completion
          elif [ -f /etc/bash_completion ]; then
            . /etc/bash_completion
          fi
        fi
        

        当我用新的替换旧的 bash 完成采购时,我得到了 __git_dir 的定义,并且从此很开心。

        【讨论】:

          猜你喜欢
          • 2018-12-10
          • 2016-04-11
          • 1970-01-01
          • 2012-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-29
          相关资源
          最近更新 更多