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

18

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

[email protected]:~$ 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 , но быстрый тест потерпел неудачу ...

    
задан Luca 04.06.2012 в 22:43
источник

3 ответа

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

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

    
ответ дан Rinzwind 04.06.2012 в 22:47
источник
7
sudo apt-get remove command-not-found command-not-found-data

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

    
ответ дан ruief 31.08.2015 в 00:58
3

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

unset command_not_found_handle

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

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

ответ дан Randall 22.09.2017 в 21:48