Терминал Ubuntu использует автозаполнение с учетом регистра, как я полагаю, было бы ожидаемо для Linux.
Но я думаю, что вместо этого было бы удобнее использовать регистр без учета регистра, чтобы избавить вас от необходимости быть точным при вводе имени и, вероятно, стоило бы дополнительных ложных срабатываний. Можно ли изменить это поведение?
Откройте терминал, запустите
# If ~./inputrc doesn't exist yet, first include the original /etc/inputrc so we don't override it
if [ ! -a ~/.inputrc ]; then echo '$include /etc/inputrc' > ~/.inputrc; fi
# Add option to ~/.inputrc to enable case-insensitive tab completion
echo 'set completion-ignore-case On' >> ~/.inputrc
Запустите новую оболочку / терминал.
, чтобы внести это изменение для всех пользователей, отредактируйте /etc/inputrc
Подробнее, см. man bash
. Да, это длинная страница, но bash - довольно сложная программа, и если вы хотите просто найти на этой странице «без учета регистра», чтобы перейти к соответствующему разделу. Люди обычно изучают bash по одному варианту за раз или по одному bash-сценарию за раз, и для того, чтобы освоить все нюансы, требуется много времени. Ваш интерес может отличаться.
Я знаю, что этот вопрос очень старый, но если я что-то упустил, думаю, у меня есть супер простое решение, если вы используете bash.
echo "bind 'set completion-ignore-case on'" >> ~/.bashrc
Или просто добавьте строку, используя ваш любимый текстовый редактор. Перезапустите сеанс bash и наслаждайтесь.
Откройте терминал и введите следующую команду:
echo set completion-ignore-case on | sudo tee -a /etc/inputrc
Введите пароль. Перезапустите терминал.
Если в некоторых случаях вы хотите удалить без учета регистра, просто отредактируйте файл / etc / inputrc, удалив строку set completion-ignore-case
.
Вот и все.
Вы можете сделать это, установив переменную конфигурации для readline GNU, которая обрабатывает ввод в интерактивной оболочке.
Необходимая переменная - completion-ignore-case
, и ее можно установить непосредственно в сеансе bash с помощью:
bind "set completion-ignore-case on"
Ее можно включить для всех будущих сеансов bash, поместив ее в файл ~/.inputrc
пользователя. или система /etc/inputrc
, чтобы включить его для всех пользователей. Это файл инициализации readline.
Но обратите внимание, что если вы создадите ~/.inputrc
, это переопределит системную копию . (Для меня это привело к тому, что я потерял некоторые сопоставления клавиш, такие как Ctrl-Left
/ Right
. Вы можете увидеть, какие из них просматривают файл /etc/inputrc
.)
Чтобы решить эту проблему, нужно поместите строку $include /etc/inputrc
вверху ~/.inputrc
, например:
$include /etc/inputrc
set completion-ignore-case on
Чтобы применить изменения, перезапустите bash или перезагрузите inputrc , например с Ctrl + x kbd>, Ctrl + r kbd>.
Более подробную информацию о readline и inputrc можно найти в man bash
и man 3 readline
.