我知道其他帖子已经讨论过这个问题,但我的问题似乎尚未完全解决,而且我还没有权限在这些帖子中添加评论 :(
列于 help.ubuntu.com > 使用终端 > 保存输入:
标签:“它自动完成任何命令或文件名”。
听取了以下建议后apt-get 自动完成我按两次 Tab 键后得到了结果,但没有命令或文件的自动完成。运行 Xubuntu 13.04。
答案1
启用智能完成
使用 sudo 和您最喜欢的编辑器编辑您的/etc/bash.bashrc
文件。
通过删除行开头的 # 来取消注释以下行:
#if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
#fi
现在,您可以使用制表符补全功能来帮助您完成命令。
答案2
这肯定会让人沮丧!一种快速简便的解决方法是使用bash
而不是sh
。
您可能默认使用/bin/sh
而不是 作为 shell /bin/bash
。我个人bash
更喜欢它,因为它开箱即用地启用了 Tab 自动完成功能。
检查以确定你的 shell:
$ echo $SHELL
/bin/sh <-- this may be your issue
启动bash
以确保此问题已得到修复:
bash
现在尝试 Tab 自动完成。如果有效,则将默认 shell 从 更改为/bin/sh
使用/bin/bash
该chsh
用户的 (change shell) 命令:
chsh -s /bin/bash USERNAME
注销并重新登录。现在所有新 shell 都将具有 Tab 自动完成功能。
答案3
仅当您提供的首字母是唯一的并且没有任何其他可能的文件名时,它才会完成文件名:
假设你有两个文件file1expo
和file2expo
在工作目录中-
那么使用gedit file<<tab>>
将不起作用,因为它有两种可能的结果,而使用gedit file1<<tab>>
将起作用。
如果你想列出所有以首字母开头的文件,xaa
那么只需使用
ls "xaa"
它将显示所有以 开头字符 的文件名 xaa
。