Подтвердить что ты не робот

Предложение пакета Zsh

Я только что перешел на Zsh из Bash, но у меня есть небольшая проблема. В bash в системе Ubuntu, когда я набираю имя команды, которая не существует, bash выполняет поиск в базе данных apt для соответствующего имени команды и выводит имена пакетов, которые предоставляют эту команду. Это действительно полезная функция, поэтому мне было интересно, можно ли что-то подобное реализовать в Zsh с помощью script или что-то еще?

Вот пример:

$>xmms2
The program 'xmms2' is currently not installed.  You can install it by typing:
sudo apt-get install xmms2-client-cli

Или, если команда не является точным совпадением:

$>xmms
No command 'xmms' found, did you mean:
Command 'lmms' from package 'lmms' (universe)
Command 'xmms2' from package 'xmms2-client-cli' (universe)
Command 'xmds' from package 'xmds' (universe)
Command 'xdms' from package 'xdms' (universe)
4b9b3361

Ответ 1

Как предложил Michał Politowski, я отвечу на свой вопрос и отметю его как решение:)

Чтобы получить эту функциональность в zsh, установите пакет с именем "command-not-found" (dunno о другом дистрибутиве, но в Ubuntu он находится в репозиториях).

ПРИМЕЧАНИЕ. В Ubuntu 12.04 этот пакет установлен по умолчанию.

sudo apt-get install command-not-found

И тогда вам нужно будет отредактировать свой .zshrc, а затем источник в файле /etc/zsh _command_not_found, добавив следующую строку в ваш .zshrc

источник/etc/zsh_command_not_found