我在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
但不包括您的当前目录。有关详细信息,请参见此处。
这是因为您处于 gcc 的运行时环境下,它为您提供了对 Windows 下本机二进制文件的支持,但您可以使用 ./(本地执行)将任何 exe 作为 shell 运行。查看此工具的文档:http: //sourceforge.net/p/mingw-w64/wiki2/FAQ/
您的 PATH 丢失./
。将其添加到.profile
主目录 ( /c/Users/username
) 中的文件中:
$ cd
$ pwd
/c/Users/username
$ echo 'PATH=$PATH:./' >> .profile
重新启动 bash 会话,瞧!现在echo $PATH
应该:./
作为最后一项输出。请注意,您绝对需要将其添加为安全性的最后一项(例如针对恶意ls.exe
)。