Тонкая настройка Bash 'cd' и TAB для распознавания орфографических ошибок

Я искал настройки для команды cd, чтобы она распознавала орфографические ошибки каталогов и автоматически заполняла похожие имена каталогов.

Сейчас у меня есть настройки, которые распознают орфографические ошибки каталога, но не заполняют их автоматически.

Для исправления ошибок правописания в каталоге у меня есть этот код в ~/.bashrc:

shopt -s cdspell

Теперь это работает следующим образом, предположим, у меня есть каталог с именем "мусор"

vickey@home:~$ cd tras
trash
vickey@home:~/trash$ cd ..
vickey@home:~$ cd trasx
trash
vickey@home:~/trash$ pwd
/home/vickey/trash
vickey@home:~/trash$ 


vickey@home:~$ cd Trash
trash
vickey@home:~/trash$ pwd
/home/vickey/trash

Но проблема у меня заключается в том, что я делаю каталог с именем Temp и делаю что-то вроде

vickey@home:~$ mkdir Temp
vickey@home:~$ cd temp
Temp
vickey@home:~/Temp$ cd ..
vickey@home:~$ cd te #and tab here
test/   textin/ 

это не показывает Temp как вариант. Есть ли способ сделать автозаполнение без учета регистра?

1 ответ

Решение

Завершение это особенность readline,

Вы можете включить завершение без учета регистра одним из следующих способов:

1) Добавление к вашему ~/.bashrc:

bind 'set completion-ignore-case on'

ИЛИ ЖЕ

2) Добавление к вашему /etc/inputrc:

set completion-ignore-case on

Заметки:

  • /etc/inputrc, как комментарии @mak, влияет на все оболочки, которые используют readlineи не только bash,

  • Это сделает все дополнения без учета регистра.

Другие вопросы по тегам