3

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

Вот пример:

$>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 ответ1

3

ОК, я нашел ответ!
Сначала вам нужно установить пакет с именем «command-not-found» (не знаю о других дистрибутивах, но в Ubuntu он находится в репозиториях).

sudo apt-get install command-not-found

И тогда вам нужно будет отредактировать ваш .zshrc и затем исходный код в файле /etc /zsh_command_not_found

source /etc/zsh_command_not_found

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