为什么自动完成功能对终端中的目录不起作用?

为什么自动完成功能对终端中的目录不起作用?

在此处输入图片描述

我正在使用 Ubuntu 13.10。当我使用以前版本的 Ubuntu 时,我能够自动完成目录名称,甚至可以在单个命令中多次完成。我现在无法做到这一点。如屏幕截图所示,我正在输入此命令,然后按 Tab。但什么也没发生,而我在该级别有一个名为“addons”的目录。我能解决我面临的这个问题吗?

谢谢。

答案1

文件选择器自动完成路径存根需要与任何其他字符串分开。在您的示例中:

command --argument=/path/stub<TAB>

Bash 只会看到 --argument 并出错。您可以通过让它解析该参数来改进它,但这并不完全是小事。

答案2

首先确保系统上安装了 bash 自动完成包。

 sudo apt-get install bash-completion

接下来,要为 Ubuntu 13.10 启用智能完成,请编辑 /etc/bash.bashrc 文件以启用它。通过删除行开头的 # 来取消注释以下行:

#if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
#fi

关闭会话并重新打开以使其生效。

相关内容