【问题标题】:Can I get the locate to work on Windows through Git Bash?我可以通过 Git Bash 获得在 Windows 上工作的位置吗?
【发布时间】:2016-08-18 21:12:17
【问题描述】:

Git Bash 似乎对各种 Linux 命令有很好的支持。它甚至支持定位,虽然它从来没有找到任何东西:

mypc@mypc MINGW64 ~
$ locate --regex .*?\/[^\/]+\.docx

我尝试更新定位数据库,但那里没有完成支持:

mypc@mypc MINGW64 ~
$ updatedb
/usr/bin/updatedb: line 323: /usr/var/locatedb.n: No such file or directory
Failed to generate /usr/var/locatedb.n

我可以通过编辑一些脚本来解决这个问题吗?是什么导致了这个问题?

【问题讨论】:

    标签: windows-7 git-bash


    【解决方案1】:

    从 git bash 运行:

    mkdir /c/Program\ Files/Git/usr/var; updatedb --localpaths='/c/'
    

    您还可以在 ~/.bash_profile 中添加以下别名:

    alias updatedb="updatedb --localpaths='/c/'"
    

    我还没有尝试过别名,但我不明白它为什么会起作用。

    只要确保两者之一

    source ~/.bash_profile
    

    或在添加别名后打开一个新的 shell 以便加载它。

    【讨论】:

    • 请注意,您必须创建安装 git 的 var 子目录。如果您有多个带有 --localpath='/c/ /d/' 的驱动器,还可以添加多个目录
    【解决方案2】:

    感谢您的提示! 只是想添加到@danielpflood 的答案,我需要运行“Git Bash”作为管理员,才能创建所需的 /var/ 目录。 这是在 Windows 10 上。

    [想作为评论添加,但我没有足够的声誉。]

    【讨论】:

      【解决方案3】:

      我发现我需要创建一个目录 C:\Program Files\Git\usr\var 并授予我的用户对其的完全访问权限。

      这解决了权限问题,但为了让它索引正确的文件,我还必须将 updatedb 调用为 updatedb --localpaths='/c/'(我想这可以放在某个配置文件中)

      【讨论】:

        猜你喜欢
        • 2016-08-19
        • 2013-05-05
        • 1970-01-01
        • 2011-09-21
        • 2012-01-01
        • 2023-03-15
        • 2017-05-29
        • 1970-01-01
        • 2012-04-07
        相关资源
        最近更新 更多