Как удалить функцию «ты имел в виду…» в оболочке?

19

Когда мне не удается правильно ввести команду, например:

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, но быстрая проверка провалилась с треском ...

Лука
источник

Ответы:

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

Вам нужно перезапустить вашу оболочку, чтобы изменения вступили в силу.

Rinzwind
источник
2
Не перемещайте вещи, /usrкоторые принадлежат пакетам. В случае /usr/share/command-not-found, этот каталог принадлежит command-not-found-dataпакету. Теперь ваш менеджер пакетов будет сбит с толку.
руф
9
sudo apt-get remove command-not-found command-not-found-data

Вопреки другому ответу, вы не должны вручную перемещать объекты, /usrесли только вы не пытаетесь переопределить свой менеджер пакетов.

ruief
источник
3

Другие ответы здесь предполагают наличие root, и вы хотите удалить его глобально для системы. Если вы просто хотите отключить это для одного пользователя (например, для своей учетной записи), вы можете просто сделать:

unset command_not_found_handle

либо в командной строке для текущей оболочки, либо в их .bashrc

Эта функция , как правило , включена в глобальном масштабе путем определения command_not_found_handleв /etc/bash.bashrc, так же может быть отключена там по умолчанию, в то же время оставляя пакет , доступный для пользователя мощности для определения функции и включить функцию в свой собственный счет.

Randall
источник