3

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 a Bash alias that takes a parameter? How to pass command line arguments to a shell alias?

Community
  • 1
  • 1
Sonny
  • 186
  • 1
  • 10

2 Answers2

1

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.

Sonny
  • 186
  • 1
  • 10
0

I had to use:

alias devenv=\""/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/devenv.exe\""

or else I got

bash: syntax error near unexpected token `('
vaughan
  • 6,982
  • 6
  • 47
  • 63