我一直无法移动到名称中带有空格的目录,但我只是认为这是Cygwin的一个问题并且解决了它。
然后我发现我可以创建那些目录的符号链接,这些链接让我觉得它不是Cygwin。然后我记得我为cd
创建了一个别名,它会列出目录内容并看到:
cdls { cd $1; ls; }
alias cd='cdls'
所以问题是当我尝试这个时它失败了:
$ cd /cygdrive/c/Program\ Files/
bash: cd: /cygdrive/c/Program: No such file or directory
我可以看到空格导致路径被分成多个参数,但是如何将它们再次连接在一起呢?
答案 0 :(得分:3)
引用它:
cdls { cd "$1"; ls; }
在bash中引用可能会变得多毛,因为有多种级别的解释,但通常只是稍微玩一下。
答案 1 :(得分:1)
尝试:
cdls() { cd "$1"; ls; }
答案 2 :(得分:0)
看起来我只需要向我解释问题的答案。我的解决方案是:
cdls () { cd "$*"; ls ; }
alias cd='cdls'
简单。