70

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

为什么会这样?

4

3 回答 3

151

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

$ ./sqlite3.exe

当您运行时sqlite3,bash 将在环境变量的所有目录中查找具有该名称的程序,PATH默认情况下包括可执行文件的标准位置,/usr/local/bin但不包括您的当前目录。有关详细信息,请参见此处

于 2015-04-22T17:46:55.850 回答
3

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

于 2015-04-22T17:52:12.270 回答
0

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

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

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

于 2020-09-17T11:03:09.620 回答