是否可以将 `cd` 的命令完成修改为仅显示目录而忽略文件?

chi*_*NUT 16 ls bash cd-command autocomplete

当我在 bash 的目录中并按 时cd Space Tab,它会显示目录中的所有内容作为可能。( Show all 1000 possibilities?) 当我在一个有很多常规文件和相对较少目录的目录中时,这真的很麻烦。

那么,是否可以选择cd仅包含目录的自动完成功能?

我知道我可以通过执行获得目录中的目录列表

ls -d */

但我不确定如何从那里开始。

我正在使用CentOS 6.6 Final

jim*_*mij 29

只需添加

complete -d cd
Run Code Online (Sandbox Code Playgroud)

在您的~/.bashrc(或其他 bash 配置文件)中。

  • 要重新读取`~/.bashrc` 类型`。~/.bashrc`。这可能不会启动子shell。 (2认同)

use*_*686 5

应该在许多发行版的典型安装中自动发生。
如果不是,您可能丢失了该bash-completion包:

  • 乌班图:sudo apt-get install bash-completion
  • 拱:sudo pacman -S bash-completion