终端自动完成“标签”无法正常工作?

我知道这已在其他post上讨论但我的问题似乎没有完全解决,我没有权限添加评论到那些post:(

在help.ubuntu.com上列出>使用TheTerminal>在打字时保存:

标签:“它自动填充任何命令或文​​件名”。

按照apt-get autocomplete的建议后,按Tab键两次但没有自动完成命令或文件后得到结果。 运行Xubuntu 13.04。

只有当您提供的首字母是唯一的,并且没有任何其他可能的文件名时,它才会完成文件名:

假设你在工作目录中有两个文件file1expofile2expo

然后使用gedit file<>将无法工作,因为它有两个可能的结果,其中gedit file1<>将起作用。

如果你想列出所有以xaa首字母开头的文件,那么只需使用

 ls "xaa" 

它将显示所有带有起始字符xaa的文件名。

启用智能完成

使用sudo和您喜欢的编辑器,编辑/etc/bash.bashrc文件。

通过删除行开头的#,取消注释以下行:

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

现在,您可以使用制表符完成命令。

这可能令人沮丧,这是肯定的! 一个快速简单的解决方法是使用bash而不是sh。

您可能默认使用“/ bin / sh”作为shell而不是“/ bin / bash”。 就个人而言,我更喜欢bash,因为它已经开启了标签自动完成function。

检查以确定您的shell:

echo $ SHELL

/ bin / sh < - 这可能是你的问题

启动bash以确保解决问题:

庆典

现在尝试选项卡自动完成。 如果它工作,然后将默认shell从“/ bin / sh”更改为“/ bin / bash”

使用该用户的chsh(change shell)命令将Default Shell更改为bash。

用户名:chsh -s / bin / bash

登出。 重新登录。现在所有新shell都会自动填充标签。 🙂

巴蒂尔