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

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

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

  • zsh: правила завершения для ssh
  • Разрешить все псевдонимы в командной строке zsh
  • Заполнение вкладки «../» в zsh
  • Каким образом можно определить (из сценария), установлено ли программное обеспечение?
  • Как работает вилочная бомба?
  • Изменение цвета при смене каталога
  • Есть ли способ определить функцию, которая получает типизированную команду (+ аргументы) в качестве параметра?

  • Поймать неожиданный ввод одиночного символа в bash
  • zshell - это вкладка, дополняющая двусмысленные варианты
  • Все файлы в каталоге, которые не заканчиваются в определенной строке?
  • Можете ли вы сделать zsh autocorrect умнее?
  • Как определить и загрузить свою собственную функцию оболочки в zsh
  • scp, globbing и различные оболочки
  • 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' не найдена, вы имели в виду 😕
    Linux и Unix - лучшая ОС в мире.