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

我在 窗户机器人 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

为什么会这样?

80625 次浏览

要在 bash 的工作目录中运行一个程序,需要在它的前面放入 ./。所以对你来说:

$ ./sqlite3.exe

当你运行 sqlite3的时候,bash 会在环境变量的所有目录中寻找一个程序,这个程序默认包含了像 /usr/local/bin这样的可执行程序的标准位置,但是不包含你的工作目录。看这里了解更多信息。

这是因为你使用的是 gcc 的一个执行期函式库,它支持 Windows 下的本地二进制文件,但是你可以使用 shell 运行任何 exe。/(本地执行) 看一下这个工具的文档: < a href = “ http://sourceforge.net/p/mingw-w64/wiki2/FAQ/”rel = “ nofollow”> http://sourceforge.net/p/mingw-w64/wiki2/faq/

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

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

重启狂欢会议,就是这样!现在 echo $PATH应该输出 :./作为最后一项。注意,为了安全起见(例如,针对恶意的 ls.exe) ,您肯定需要添加它作为 最后项。