zaLinux.ru

Как отключить функцию «did you mean…» в оболочке Linux


Как отключить предложения установить пакет при неправильно введённой команде

В случае если не найдена команда, которую вы ввели в консоль Linux, некоторые дистрибутивы показывают дополнительную информацию с предположением, в каких именно пакетах может находиться введённая команда и как её можно установить.

Пример подобного сообщения:

Command 'magick' not found, did you mean:
  command 'magic' from deb magic
  command 'magics' from deb magics++
Try: sudo apt install <deb name>

Дистрибутивами, в которых это используется, являются например Kali Linux и Ubuntu.

Если по каким-либо причинам вам не нравится такое поведение терминала и вы хотите чтобы вывод ошибки ограничивался сообщением «команда не найдена», то данная статья расскажет, как это сделать.

Поскольку функция «did you mean…» обеспечивается пакетом command-not-found, то для её отключения вы можете удалить данный пакет:

sudo apt remove command-not-found

После этого перезагрузите компьютер, чтобы изменения вступили в силу.


После удаления command-not-found не выводится никаких ошибок — как исправить

Для того чтобы после удаления command-not-found вновь стали показываться сообщения «команда не найдена» перезагрузите компьютер.

Отключение функции «did you mean…» без удаления command-not-found

Данный способ может применяться пользователем без прав root, то есть без возможности удаления пакетов.

Откройте файл

  • .bashrc (для оболочки Bash)
  • .zshrc (для оболочки Zsh)

Смотрите также: Как узнать, какая оболочка используется в Linux

И добавьте туда строку

unset command_not_found_handle

Перед тем, как добавить указанную строку в один из файлов оболочки, проверьте, нет ли там строк, которые включают использование command-not-found. К примеру в Kali Linux присутствуют следующие строки:

# enable command-not-found if installed
if [ -f /etc/zsh_command_not_found ]; then
    . /etc/zsh_command_not_found
fi

Удалите или закомментируйте эти строки в файле .zshrc, чтобы получилось:

## enable command-not-found if installed
#if [ -f /etc/zsh_command_not_found ]; then
#    . /etc/zsh_command_not_found
#fi

В результате во всех новых открытых терминалах функция command-not-found будет отключена.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *