Чи є коректор друку для bash?


8

Я хотів би, щоб щось підключилося до помилки "команда не знайдена" на bash і запропонував би корисне виправлення.

Наприклад:

grep-C3  error
bash: grep-C3: command not found

Було б добре, якби сказано:

Did you mean: grep -C3 error (Y/n)

Я бачив, як люди включають в сценарій .bash_profile такі типові помилки, як "псевдонім gerp = grep", але я вважаю, що хтось, ймовірно, написав загальне розширення для того, щоб виправити подібні речі.

Хтось чув про таке розширення?


Відповіді:


4

Я не знаю загального призначення, але є ім'я для каталогів:

$ shopt -s cdspell
$ cd /usr/ibn
/usr/bin
$ pwd
/usr/bin
$ cd /usr/shar/doc
/usr/share/doc

Це зі сторінки чоловіка для Bash:

Якщо пошук не вдався, оболонка здійснює пошук визначеної оболонки 
функція з назвою command_not_found_handle. Якщо ця функція існує, вона є
викликається оригінальною командою та аргументами оригінальної команди  
як його аргументи

Це можливо використовувати для виконання того, що ви хочете, але код буде досить складним завданням. До речі, Ubuntu, наприклад, використовує це для відображення пакетів, що містять команду, яку не було знайдено з інструкціями щодо встановлення (apt-get).


2

Схоже, шоп буде гарним початком.

Також виявляється, що в zsh вбудована корекція друку.


Посилання на "shopt" звідси виглядає як порожня сторінка.
sylvainulg

0

command-not-foundпакет повинен забезпечити цю функцію в останніх дистрибутивах.

Якщо ні, ви можете викликати його вручну з command_not_found_handle()функції.

Ще одна альтернатива - це .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.