如何将此路径传递给bash函数?

时间:2009-02-19 11:01:56

标签: bash cygwin

我一直无法移动到名称中带有空格的目录,但我只是认为这是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

我可以看到空格导致路径被分成多个参数,但是如何将它们再次连接在一起呢?

3 个答案:

答案 0 :(得分:3)

引用它:

cdls { cd "$1"; ls; }

在bash中引用可能会变得多毛,因为有多种级别的解释,但通常只是稍微玩一下。

答案 1 :(得分:1)

尝试:

cdls() { cd "$1"; ls; }

答案 2 :(得分:0)

看起来我只需要向我解释问题的答案。我的解决方案是:

cdls () { cd "$*"; ls ; }
alias cd='cdls'

简单。