Spec-Zone.ru › Homebrew

Команда не найдена

Эта функция реализует command-not-found Ubuntu для пользователей Homebrew в macOS.

В Ubuntu, когда вы пытаетесь использовать команду, которой нет в системе, но которая доступна в виде пакета, Bash предложит команду для её установки. С помощью этого скрипта вы можете реализовать эту функцию в macOS:

$ when
The program 'when' is currently not installed. You can install it by typing:
  brew install when

Установка

Инструкции по установке для вашей оболочки можно посмотреть, выполнив:

brew command-not-found-init
  • Bash и Zsh: добавьте следующую строку в файл ~/.bash_profile (bash) или ~/.zshrc (zsh):

    HOMEBREW_COMMAND_NOT_FOUND_HANDLER="$(brew --repository)/Library/Homebrew/command-not-found/handler.sh"
      if [ -f "$HOMEBREW_COMMAND_NOT_FOUND_HANDLER" ]; then
        source "$HOMEBREW_COMMAND_NOT_FOUND_HANDLER";
      fi
  • Fish: добавьте следующую строку в файл ~/.config/fish/config.fish:

      set HOMEBREW_COMMAND_NOT_FOUND_HANDLER (brew --repository)/Library/Homebrew/command-not-found/handler.fish
      if test -f $HOMEBREW_COMMAND_NOT_FOUND_HANDLER
        source $HOMEBREW_COMMAND_NOT_FOUND_HANDLER
      end
    

Требования

Для работы этого инструмента требуется одна из следующих оболочек:

  • Zsh (оболочка по умолчанию в macOS Catalina и более поздних версиях)
  • Bash (версия 4 или выше)
  • Fish

Как это работает

Скрипт handler.sh определяет функцию command_not_found_handle, которую Bash использует, когда вы вводите несуществующую команду. Функция передаёт вашу команду в brew which-formula --explain. Если она находит совпадение, то выводит инструкции по установке. Если совпадений нет, вы получите ожидаемое сообщение об ошибке.

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/Command-Not-Found

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API