Гид по технологиям

Как автоматически исправлять опечатки при использовании cd в Bash

4 min read Linux Обновлено 18 Dec 2025
Автоправка опечаток для cd в Bash
Автоправка опечаток для cd в Bash

Что делает cdspell

Опция cdspell в Bash пытается исправить небольшие ошибки при вводе имени каталога в команде cd. Она распознаёт типичные опечатки: перестановку соседних символов, пропуск символа и лишний символ. При успешном совпадении Bash покажет предполагаемое имя каталога и автоматически выполнит переход в него.

Кратко: cdspell — это лёгкий «автокорректор» для навигации по каталогам в командной строке.

Зачем это удобно

  • Экономит время при навигации по глубоко вложенным путям.
  • Особенно полезно на серверах и в виртуальных средах без графического интерфейса.
  • Уменьшает количество ошибок и фрагментации сессий (менее частые возвраты назад).

Шаги — как включить в ~/,bashrc

  1. Откройте файл .bashrc в текстовом редакторе. Например, с помощью gedit:
gedit ~/.bashrc

Вы можете использовать любой удобный редактор (nano, vi, code). Замените gedit на ваш редактор.

Открытие файла .bashrc

  1. Прокрутите файл до конца и добавьте строку:
shopt -s cdspell

Можно добавить комментарий, чтобы не забыть назначение строки:

# Включить автоисправление опечаток для команды cd
shopt -s cdspell
  1. Сохраните файл и закройте редактор.

Добавление cdspell в .bashrc

  1. Завершите текущую сессию терминала и войдите заново (или закройте терминал и откройте снова), чтобы изменения вступили в силу. Либо выполните команду exit или закройте окно.
exit

Закрытие gedit

Закрытие окна терминала

  1. Проверьте работу. Если вы введёте cd с небольшой опечаткой, Bash предложит исправление и выполнит переход.
cd /var/wwt
# Вывод: /var/www
# Переход в /var/www

Пример автокоррекции команды cd

Как применить опцию сразу в текущей сессии

Если вы не хотите выходить и заходить снова, можно включить опцию прямо сейчас:

shopt -s cdspell

Это включит поведение для текущей оболочки до следующего запуска. Добавление той же строки в ~/.bashrc делает настройку постоянной.

Когда это не работает — ограничения и примеры

  • cdspell исправляет только «малые» опечатки. Если введено совершенно другое имя (несовпадающее коренной части), исправления не будет.
  • Не работает с символами, отличающимися регистром, если файловая система регистрозависимая и расхождения значительны.
  • Не подходит для сложных шаблонов пути, когда нужны символьные ссылки или специальные подстановки.

Примеры неудачных случаев:

  • Ввод большого фрагмента пути с множеством ошибок: cd /very/long/paht/with/many/erros
  • Переход к удалённым системам через нестандартные псевдонимы оболочки (cdspell влияет только на стандартный cd).

Альтернативные подходы

  • Использовать оболочку zsh с плагинами автокомплита и исправления (например, плагин zsh-autosuggestions или setopt CORRECT). zsh даёт более гибкую автоисправку.
  • Использовать fzf для интерактивного выбора каталогов: cd $(find . -type d | fzf)
  • Настроить алиасы и функции для часто используемых путей (короткие ярлыки уменьшают вероятность опечаток).

Тестовые случаи и критерии приёмки

Критерии приёмки — как убедиться, что всё работает:

  • При опечатке в имени каталога Bash предлагает исправление и выполняет cd.
  • Добавленная строка присутствует в ~/.bashrc и не дублирует логику в других конфигурационных файлах.
  • Поведение включается немедленно при исполнении shopt -s cdspell.

Простейшие тест-кейсы:

  1. Создайте каталог testfolder и выполните cd testfodler — ожидается переход в testfolder.
  2. Попробуйте переставить соседние символы: cd docuemnts (ожидается documents).
  3. Введите полностью неверный путь — ожидается стандартная ошибка “No such file or directory”.

Рекомендации для администраторов и разработчиков

  • Администраторы: добавляйте строку в /etc/skel/.bashrc для новых пользователей, если хотите распространять настройку по умолчанию.
  • Разработчики: используйте комбинацию cdspell + алиасов для ускорения работы в проектах.

Чеклист перед деплоем на множество машин:

  • Проверить совместимость с версией Bash (cdspell доступен в стандартных Shell-билдах Bash 4+).
  • Внести изменение в профиль пользователя или в шаблон для новых пользователей.
  • Проинформировать пользователей об изменении поведения команды cd.

Краткий глоссарий

  • cdspell: опция Bash, автоматически исправляющая небольшие опечатки в пути для команды cd.
  • ~/.bashrc: файл конфигурации Bash, выполняемый при старте интерактивной оболочки.

Итог

Включение shopt -s cdspell — быстрый и безопасный способ сократить количество опечаток при навигации в терминале. Это простая настройка, которая экономит время и повышает удобство работы с директорией.

Важное: cdspell помогает при небольших опечатках, но не заменит осмысленных проверок и структурированных алиасов для сложных сценариев.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Включить и отключить заливку полей в Word
Microsoft Word

Включить и отключить заливку полей в Word

Как сохранять твиты в закладки бесплатно
Социальные сети

Как сохранять твиты в закладки бесплатно

Apple Music на Alexa — как слушать на Echo
Технологии

Apple Music на Alexa — как слушать на Echo

Portainer — графический интерфейс для Docker
DevOps

Portainer — графический интерфейс для Docker

Разблокировать в Facebook Messenger — ПК и мобильный
Социальные сети

Разблокировать в Facebook Messenger — ПК и мобильный

Gmail как список чтения — настройка и советы
Продуктивность

Gmail как список чтения — настройка и советы