When I use git bash, from time to time I want to invoke a command wich is on my $PATH
( well actually on my %PATH%
) but if the command resides somewhere in a folder with spaces on it, it fails to run.
For instance if the program is on C:\Program Files\whatever\aCmd.exe
and I type aCmd
on bash, it says "Program" is not a valid program and such.
What I did was to re-install the program in a folder without spaces, but recently my coworkers are starting to leave git-gui and are using git-bash and the recurrent question is "How do I execute aCmd" and when I tell them to re-install it they go like ¬¬
Q. How can I execute commands in git-bash which are located in a folder with spaces?
Just put the command to execute between double quotes, like so
"C:\Program Files\whatever\aCmd.exe"
To reach the directory which has the spaces in it's path you just need to wrap the whole path with quotes. It should look like this:
cd "/c/Some Folder/Some Other Folder/"
Where there are special characters in a file name (spaces, $, parenthesis...) you need to place a backslash ahead of the character so that it reads it as is.
For example, if you want to run the program notepad++.exe straight from Bash and need to direct the path to:
C:\Program Files (x86)\Notepad++\
Then you would code the path in your bash.rc file as follows:
export PATH=$PATH:/c/Program\ Files\ \(x86\)/Notepad++:<path2>:<path3>:...<pathn>:
Note the backslashes leading the spaces and parentheses.
You can even add an additional line on the next line of your bash.rc file:
alias npp=notepad++
which will create a shortcut, allowing you to type npp straight into Bash, instead of having to type out the full program name notepad++ every time.
I'm a total noob, just started coding 4 days ago, though I found for this problem the best website was the following: http://www.grymoire.com/unix/Quote.html
Hope this helps! :D
Commands in git-bash accept paths within double quotes
"C:\Program Files\whatever\aCmd.exe"
or back slash for scaping the blank space
c/Program\ Files/whatever/aCmd.exe
Hope it helps!