Как определить функцию, которая обрабатывает `command not found`?

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

в настоящее время при вводе, например, dgfgsdjagfghsdg ошибка zsh: command not found: dgfgsdjagfghsdg .

Есть ли способ определить функцию, которая получает типизированную команду (+ аргументы) в качестве параметра?

One Solution collect form web for “Как определить функцию, которая обрабатывает `command not found`?”

Да.

  • В оболочке Z это функция с именем command_not_found_handler .
  • В оболочке Bourne Again это функция с именем command_not_found_handle .

дальнейшее чтение

  • Ошибка перехвата «команда не найдена» в zsh
  • как локально переопределить команду 'command_not_found_handle'?
  • (2x) zsh: команда не найдена
  • Никакая команда 'bla' не найдена, вы имели в виду 😕
  • Создайте список файлов из файла, содержащего ряд шаблонов глобусов
  • Как повторить в настоящее время введенный параметр в zsh?
  • Рекомендуется ли использовать zsh вместо сценариев bash?
  • alias -g '$ {1 + "$ @"}' = '"$ @"', что он делает?
  • zsh - полностью расширяет двоичный путь на вкладке <tab>
  • Список всех текущих файлов dotfiles с помощью zsh
  • Shell glob - заменить файл path arg с содержимым файла
  • Существует ли (предпочтительно не-kludgey) способ избежать орфографических исправлений при использовании команды zv `mv`
  • Как восстановить среду оболочки?
  • Могу ли я иметь историю истории оболочки, как расширяются шаблоны?
  • Как сохранить распечатку последней команды в переменной оболочки в urxvt / zsh?
  • Как настроить режим vi в режиме ZSH для сохранения состояния между командами?
  • Linux и Unix - лучшая ОС в мире.