如何删除shell中的“你是说……”function?
当我无法正确输入命令时,例如:
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行为联系起来)。
是否可以删除此function? 如何?
我认为它是在我的本地~/.bashrc
中设置的,但快速检查失败了……
sudo apt-get remove command-not-found sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak
您需要重新启动shell才能使更改生效。
sudo apt-get remove command-not-found command-not-found-data
与其他答案相反,你不应该在/usr
下手动移动东西,除非你试图破坏你的包管理器。
这里的其他答案都假定为root, 并且您希望为系统全局删除它。 如果您只想为单个用户(例如,您自己的帐户)禁用此function,您只需执行以下操作:
unset command_not_found_handle
在当前shell的命令行上,或在.bashrc
该function通常通过在/etc/bash.bashrc
定义command_not_found_handle
来全局启用,因此默认情况下也可以在此处禁用,同时仍然可以让超级用户定义function并在自己的帐户中启用该function。