终端自动完成“标签”无法正常工作?
我知道这已在其他post上讨论但我的问题似乎没有完全解决,我没有权限添加评论到那些post:(
在help.ubuntu.com上列出>使用TheTerminal>在打字时保存:
标签:“它自动填充任何命令或文件名”。
按照apt-get autocomplete的建议后,按Tab键两次但没有自动完成命令或文件后得到结果。 运行Xubuntu 13.04。
只有当您提供的首字母是唯一的,并且没有任何其他可能的文件名时,它才会完成文件名:
假设你在工作目录中有两个文件file1expo
和file2expo
然后使用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都会自动填充标签。 🙂
巴蒂尔