Я запускаю xubuntu и переключаюсь с bash на zsh в качестве оболочки по умолчанию. Это прекрасно работает - единственное, что я пропускаю в дни bash, это то, что: когда я выполняю команду, которая не установлена, bash сообщает мне командную строку apt-get для ее установки. Можно ли добиться этого с помощью Zsh?

1 ответ1

1

Кажется, здесь уже дан ответ.

Ответ выдается пакетом command-not-found , который у вас, очевидно, уже есть, поскольку bash отвечает, как вы хотите. Это просто вопрос настройки zsh для его использования.

Попробовав решение в Ubuntu, я обнаружил, что файл, упомянутый в /etc , не существует, но это просто вопрос добавления этой строки в .zshrc:

command_not_found_handler() {/usr/lib/command-not-found "$1"}

Если вы хотите подавить сообщение собственной команды zsh command not found , вы можете добавить return 0 к обработчику, НО это не покажет ошибку в $? после этого.

Существует более подробную информацию о том , как bash интерфейсы к пакету здесь.

Обратите внимание, что обработчик bash называется command_not_found_handle() , тогда как в zsh это command_not_found_handler() .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .