这可能是 Git Bash for Windows 的问题。
我正在尝试创建一个带有参数的别名,以将某个工作区输入到特定的项目目录。但是,Visual Studio Project目录似乎有一些空格问题。我试图对变量进行双引号,但错误输出相当模糊,因为复制 cd 输出适用于 bash 窗口。
VS="/c/Users/name/Documents/Visual Studio 2015/Projects"
alias wkp='function _b(){ cd "'${VS}'"/$1; };_b'
它输出
bash: cd: /c/Users/name/Documents/Visual Studio 2015/Projects/: No such file or directory
使用常规别名会很好,但我需要再次 cd 到特定的项目目录中。
alias workp='cd /c/Users/name/Documents/Visual Studio 2015/Projects'
参数中带有反斜杠和双引号的空格不适用于 bash 函数有什么原因吗?
以前的相关问题制作一个接受参数的 Bash 别名?如何将命令行参数传递给 shell 别名?
我找到了问题的答案。在这种情况下,我需要删除反斜杠。
VS="/c/Users/name/Documents/Visual Studio 2015/Projects"
VS="/c/Users/name/Documents/Visual Studio 2015/Projects"
似乎 cd 将完全采用双引号并解析空格,而无需使用反斜杠作为转义。
我不得不使用:
alias devenv=""/c/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/devenv.exe""
否则我得到了
bash: syntax error near unexpected token `('