Unix-bash cd命令然后选项卡显示目录和文件

时间:2016-11-04 18:24:51

标签: bash unix tab-completion rhel6 bash-completion

在unix bash shell中,当我输入cd然后按Tab键时,它会将目录和文件列为可供选择的选项。显示目录和可能的目录链接必须是直观的。不会直接列出文件计数器吗?

例如,。/然后选项卡仅列出具有执行权限的项目,这是智能的。

为什么bash与cd命令没有相同的智能?这是一个错误吗?

2 个答案:

答案 0 :(得分:2)

将以下命令添加到bashrc

complete -d cd  # or ``complete -A directory cd''

然后它只会为cd命令自动完成dirs(包括符号链接到dirs)。

有关详细信息,请参阅bash手册中的 Programmable Completion Builtins

答案 1 :(得分:1)

在这两种情况下,您都将获得文件名完成。 bash具有足够的内置智能来识别命令名必须具有可执行权限,因此它将./ + Tab限制为可执行文件。完成参数cd属于可编程完成的范围(因为虽然不明智,但可能完全遮蔽内置命令)不同的命令,不必将目录作为参数)。

bash的可编程完成工具非常好,但无论出于何种原因,它实际上并不包括基本安装中的任何此类完成。但是有一个large set of completions available,其中一个用于cd