我如何删除 shell 中的“您的意思是......”功能?

我如何删除 shell 中的“您的意思是......”功能?

当我无法正确输入命令时,例如:

luca@mostro:~$ sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
 Command 'sid' from package 'tendra' (universe)
sido: command not found

命令解释器会尝试猜测我想要运行什么程序。这对我来说非常烦人(我将其与 Google 的行为联系起来)。

是否可以删除此功能?如何删除?

我以为它是在我本地设置的~/.bashrc,但快速检查失败了......

答案1

sudo apt-get remove command-not-found command-not-found-data

与其他答案相反,你应该不是/usr除非你试图破坏你的包管理器,否则请手动移动其中的东西。

答案2

两者其他答案假设根您希望从系统全局删除它。如果您只想为单个用户禁用此功能(例如,您自己的非特权帐户),您只需执行以下操作:

unset command_not_found_handle

在当前 shell 的命令行上,或者在它们的.bashrc

该功能通常启用全球通过command_not_found_handle在 中定义/etc/bash.bashrc,因此也可以默认在那里禁用,同时仍然让高级用户可以定义该包中的函数和使能够该功能可在他们自己的帐户中实现。

答案3

sudo apt-get remove command-not-found
sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak

您需要重新启动 shell 以使更改生效。

相关内容