【问题标题】:Why can't Git Bash run my executable?为什么 Git Bash 不能运行我的可执行文件?
【发布时间】:2015-06-30 13:26:30
【问题描述】:

我在 git-for-windows Git Bash 上。我无法在命令行上运行可执行文件:

Pedr@Abc-07 MINGW64 /c/dev
$ ls sqlite3.exe
sqlite3.exe*

Pedr@Abc-07 MINGW64 /c/dev
$ sqlite3
bash: sqlite3: command not found

为什么会这样?

【问题讨论】:

    标签: windows git bash mingw-w64 msys2


    【解决方案1】:

    要在 bash 中运行当前目录中的程序,请将 ./ 放在它前面。所以在你的情况下:

    $ ./sqlite3.exe
    

    当您运行sqlite3 时,bash 将在PATH 环境变量的所有目录中查找具有该名称的程序,默认情况下,该程序包括/usr/local/bin 等可执行文件的标准位置,但不包括您的当前目录。 See here 了解更多信息。

    【讨论】:

    • 谢谢。我习惯于从 msysgit Git bash 中做到这一点。
    • 不敢相信我自己没有弄清楚这一点。我很愚蠢的东西。谢谢。
    • 也适用于 Linux 的 Windows 子系统中的 bash
    【解决方案2】:

    这是因为您在 gcc 的运行时环境下,它支持 Windows 下的原生​​二进制文件,但您可以使用 ./(本地执行)将任何 exe 作为 shell 运行 查看此工具的文档:http://sourceforge.net/p/mingw-w64/wiki2/FAQ/

    【讨论】:

      【解决方案3】:

      您的 PATH 缺少 ./。将其添加到主目录 (/c/Users/username) 中的 .profile 文件中:

      $ cd
      $ pwd
      /c/Users/username
      $ echo 'PATH=$PATH:./' >> .profile
      

      重新启动 bash 会话,瞧!现在echo $PATH 应该输出:./ 作为最后一项。请注意,为了安全起见,您绝对需要将其添加为最后一个项(例如,防止恶意ls.exe)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-24
        • 1970-01-01
        • 2011-01-03
        • 1970-01-01
        • 2023-02-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多