禁用 Bash 的可编程自动完成功能(基于命令)

禁用 Bash 的可编程自动完成功能(基于命令)

我的 Fedora 16 中的 Bash 似乎会根据命令本身自动完成参数。因此,如果我输入

cd Tab

…它将仅显示目录。

然而,有太多命令它不知道预期的输入类型,那么有什么办法可以禁用此功能吗?

答案1

移除bash-completion包装。

答案2

shopt -u progcomp

将禁用基于程序的补全,而 TAB 将再次执行常规文件/目录补全。您可以逐个 shell 执行此操作(或在您帐户中的所有 shell 中将其放入 .bashrc 中),而不是为每个人删除 bash-completion 包。运行complete -r将删除所有程序补全设置,因此没有定义任何设置。这意味着如果您想再次打开它,您必须重新定义它们。而如果您以前关闭shopt -u progcomp它,您只需运行即可shopt -s progcomp将其重新打开。

答案3

另一种根据用户禁用它的方法是在文件complete -r中执行.bashrc。输入help complete以获取更多信息。

答案4

仅删除包是不够的,您还需要清除文件:

sudo apt-get --purge remove bash-completion

相关内容