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

MTi*_*ted 10 bash autocomplete

我的 Fedora 16 中的 Bash 似乎根据命令本身自动完成参数。所以如果我例如输入

cd Tab

...它只会显示目录。

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

小智 15

shopt -u progcomp
Run Code Online (Sandbox Code Playgroud)

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

  • 听起来不错,实际上**禁用**它(就像问题所问的那样)而不是完全删除它。也可以放入`.bashrc`。 IMO 应该是正确的答案 (2认同)

小智 8

在每个用户的基础上禁用它的另一种方法是complete -r在您的.bashrc文件中执行。键入help complete以获取更多信息。


Ign*_*ams 6

取出bash-completion包装。