为什么不能 Git Bash 运行 我的可执行文件?

Why can't Git Bash run my executable?

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

为什么会这样?

到运行当前目录下的一个程序在bash,你把./放在它的前面。所以在你的情况下:

$ ./sqlite3.exe

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

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

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

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

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