为什么Git Bash无法运行我的可执行文件?

时间:2015-04-22 17:43:01

标签: windows git bash mingw-w64 msys2

我在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

为什么会这样?

3 个答案:

答案 0 :(得分:86)

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

$ ./sqlite3.exe

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

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

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