Я хотел бы, чтобы что-то подключилось к ошибке «команда не найдена» в bash и предложило полезное исправление.
Например:
grep-C3 error
bash: grep-C3: command not found
Было бы хорошо, если бы он сказал:
Did you mean: grep -C3 error (Y/n)
Я видел, как люди включали в скрипт .bash_profile общие опечатки, такие как 'alias gerp = grep', но я полагаю, что кто-то, вероятно, написал общее расширение для bash, чтобы исправить подобные вещи.
Кто-нибудь слышал о таком расширении?
unix
bash
spell-check
typing
brianegge
источник
источник
Ответы:
Я не знаю общего назначения, но есть один для имен каталогов:
Это из справочной страницы для Bash:
Может быть возможно использовать это, чтобы делать то, что вы хотите, но код будет довольно сложной задачей. Кстати, Ubuntu, например, использует это для отображения пакетов, которые содержат команду, которая не была найдена с инструкциями по установке (apt-get).
источник
Похоже, что Shopt будет хорошим началом.
Кроме того, кажется, что в zsh встроена коррекция опечаток.
источник
command-not-found
пакет должен обеспечить эту функцию в последних дистрибутивах.Если нет, вы можете вызвать его вручную из
command_not_found_handle()
функции.Другая альтернатива это .
источник