这可能是 Windows 版 Git Bash 的问题。
我正在尝试创建一个带有参数的别名,以将某些工作区输入到特定的项目目录。但是,Visual Studio 项目目录似乎存在一些空白问题。我尝试用双引号引用该变量,但错误输出相当模糊,因为复制 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 函数不起作用是否有原因?
以前的相关问题 Make a Bash alias that takes a parameter? How to pass command line arguments to a shell alias?
最佳答案
我找到了问题的答案。在这种情况下,我需要删除反斜杠。
VS="/c/Users/name/Documents/Visual\ Studio\ 2015/Projects"
VS="/c/Users/name/Documents/Visual Studio 2015/Projects"
似乎 cd 将完全采用双引号并解析空格而不需要使用反斜杠作为转义符。
关于Windows Git Bash 空白别名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37718352/