Sonny Sonny - 5 months ago 32
Bash Question

Windows Git Bash Whitespace Alias Issue

This might be an issue with Git Bash for Windows.

I am trying to create an alias with parameters to enter some workspace to the specific project directories. However, it seems to have some whitespace issues for Visual Studio Project directories. I tried to double quote the variable, but the error output is rather ambiguous because copying the the cd output works on the bash window.

VS="/c/Users/name/Documents/Visual\ Studio\ 2015/Projects"
alias wkp='function _b(){ cd "'${VS}'"/$1; };_b'


It outputs

bash: cd: /c/Users/name/Documents/Visual\ Studio\ 2015/Projects/: No such file or directory


Working on a regular alias it will be fine, but I will need to cd again into the specific project directory.

alias workp='cd /c/Users/name/Documents/Visual\ Studio\ 2015/Projects'


Is there a reason why whitespaces with backslash and double quote in the parameter won't work for bash functions?

Previous relevant questions
Make bash alias that takes parameter?
How to pass command line arguments to a shell alias?

Answer

I found the answer to my question. I needed to remove the backslash in this case.

VS="/c/Users/name/Documents/Visual\ Studio\ 2015/Projects"

VS="/c/Users/name/Documents/Visual Studio 2015/Projects"

It seems cd will take the double quote completely and parse whitespace without needing to use the backslash as an escape.