Pedro Sobota
Pedro Sobota

Reputation: 1877

Why can't Git Bash run my executable?

I am on git-for-windows Git Bash. I can't run an executable on the command line:

Pedr@Abc-07 MINGW64 /c/dev
$ ls sqlite3.exe
sqlite3.exe*

Pedr@Abc-07 MINGW64 /c/dev
$ sqlite3
bash: sqlite3: command not found

Why is it so?

Upvotes: 83

Views: 103691

Answers (3)

epp
epp

Reputation: 321

Your PATH is missing ./. Add it to your .profile file in the home directory (/c/Users/username):

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

Restart bash session and voilà! Now echo $PATH should output :./ as the last item. Note that you definitely need to add it as the last item for security (e.g. against malicious ls.exe).

Upvotes: 1

Nattgew
Nattgew

Reputation: 1918

To run a program in the current directory in bash, you put ./ in front of it. So in your case:

$ ./sqlite3.exe

When you run sqlite3, bash will look for a program with exactly that name in all directories of the PATH environment variable, which by default includes standard locations for executables like /usr/local/bin but not your current directory. See here for more info on that.

Upvotes: 177

Alvarova
Alvarova

Reputation: 41

It's because you're under a is a runtime environment for gcc, that give you support to binaries native under Windows, but you can run any exe as shell using ./ (local execute) Take a look to documentation of this tool: http://sourceforge.net/p/mingw-w64/wiki2/FAQ/

Upvotes: 4

Related Questions