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