Предложение пакета 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)
Ответы
Ответ 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