如何在bash中自动完成带有空格的文件名?

如何在bash中自动完成带有空格的文件名?,bash,autocomplete,terminal,Bash,Autocomplete,Terminal,我对整个终端业务都很陌生,在安装了雪豹的旧笔记本电脑上工作得很好 然而,带有雪豹的新型笔记本电脑的工作原理却不同。当使用终端时,当试图自动完成工作时,它不会自动完成包含空格的目录名。我知道我可以手动输入,然后跳出那个空间,但我希望自动完成工作 我能在这里做些什么?你知道,我发誓这曾经奏效,但最近(最近几个月)似乎停止了。我不知道有任何OSX更新更新了bash,但不管怎样 无论如何,将“complete-o nospace-d cd”放入.bashrc(或您正在使用的任何rc文件)似乎可以提供所需

我对整个终端业务都很陌生,在安装了雪豹的旧笔记本电脑上工作得很好

然而,带有雪豹的新型笔记本电脑的工作原理却不同。当使用终端时,当试图自动完成工作时,它不会自动完成包含空格的目录名。我知道我可以手动输入,然后跳出那个空间,但我希望自动完成工作


我能在这里做些什么?

你知道,我发誓这曾经奏效,但最近(最近几个月)似乎停止了。我不知道有任何OSX更新更新了bash,但不管怎样


无论如何,将“complete-o nospace-d cd”放入.bashrc(或您正在使用的任何rc文件)似乎可以提供所需的行为。

这里是另一个可能更简单的解决方案。 必须使用转义字符\后跟空格

e、 g

ls-Xcode\5.0

然后,“Xcode 5.0”将被视为一个完整的字符串,而不是两个单独的参数。

这很奇怪,我刚刚尝试过,在我的雪豹系统上也不错。我甚至想不出你是怎么禁用这个功能的。希望有更了解情况的人能在这里提供帮助。这是发生在所有命令上的所有目录名上,还是只发生在cd上?我问这个问题是因为目录名完成是内部的,所以似乎必须有一个有缺陷的bash版本才能使其崩溃。(如果只是cd…是否设置了CDPATH?这将使它在扩展的bash完成脚本中使用特殊的cd完成,我想这可能更容易出错…)它看起来适用于所有目录,并且仅适用于cd。。。我不确定你所说的CDPath是什么意思,所以我会用谷歌搜索它。有趣的是,如果我键入sudo cd[tab],它将自动完成。。
ls Xcode\ 5.0<tab>