Czy jest jakiś sposób, aby tabulator Bash był niewrażliwy na wielkość liter?
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Używam Mac OS X 10.6
macos
command-line
bash
shell
Jeffrey Aylesworth
źródło
źródło
/etc/inputrc
lub~/.inputrc
plik wskazany przezINPUTRC
to jedyne miejsca, do których może się udać. Wpisanie tego po znaku zachęty Bash nie będzie działać.^X ^R
przeładowaćinputrc
bind "set completion-ignore-case on"
z wiersza poleceń; wierzę, że tylko ta sesja terminalowaRestrukturyzacji z perspektywy czasu Contrast plusy i minusy korzystania
[.]inputrc
Vs..bash_profile
.Porada czapki do underscore_d za jego pomoc.
Uwaga: Edycja wiersza poleceń w Bash jest zapewniana przez bibliotekę Readline; dostosowywanie go nie jest trywialne, ale warte nauki; jego funkcje obejmują możliwość definiowania niestandardowych skrótów klawiaturowych do wstawiania predefiniowanych fragmentów tekstu - patrz Edycja wiersza poleceń w Podręczniku użytkownika Bash
Aby uporczywie rozróżniać wielkość liter w Bash bez rozróżniania wielkości liter:
Opcja A: jeśli masz już:
/etc/inputrc
pliku (w całym systemie stosuje, modyfikacji wymagająsudo
)i / lub
~/.inputrc
plik (specyficzny dla użytkownika)i / lub
planujesz intensywnie dostosowywać bibliotekę readline i / lub chcesz, aby dostosowania były skuteczne również dla skryptów wywoływanych
read -e
:Dodaj linię
do dowolnego pliku, w zależności od tego, czy ustawienie ma być skuteczne dla wszystkich użytkowników, czy dla bieżącego użytkownika (w razie potrzeby utwórz plik).
Powiązane polecenie, które ułatwia uzupełnianie nazw plików i katalogów, to:
To sprawia, że nie ma potrzeby dwukrotnego naciskania Tab, gdy występuje więcej niż jedno dopasowanie.
Opcja B: Alternatywnie możesz dodać polecenia Readline do
~/.bash_profile
pliku specyficznego dla użytkownika w OS X (lub~/.bashrc
Linux), przekazując je jako pojedynczy argument dobind
wbudowanego :Zauważ, że
bind
polecenia w~/.bash_profile
/~/.bashrc
mają pierwszeństwo przed równoważnymi poleceniami w jednym/etc/inputrc
lub~/.inputrc
.Jak sugerowano powyżej, zdefiniowana w ten sposób konfiguracja Readline nie zadziała w skryptach, które wywołują
read -e
aktywację obsługi Readline do odczytu danych wprowadzanych przez użytkownika.źródło
cd
poleceń. Co rozwiązuje to pytanie i pozwoli mi zaoszczędzić tysiące naciśnięć klawiszy. :)show-all-if-ambiguous
. Jednak skoro mówisz „jako alternatywa”, czy rzeczywiście ma to jakąś korzyść z robienia tego za pośrednictwembind
, kiedyinputrc
wydaje się, że pliki sprawiają, że jest to zbędne?inputrc
, ale z radością stworzyłem~/.inputrc
i dodałem je oraz inne naprawdę przydatne dyrektywy. Wydaje mi się, że zakładamy, że wszyscy czytelnicy wiedzą, że/etc/inputrc
wpływa to na innych użytkowników (chyba że ci ostatni zastąpią ustawienia, których dotyczy problem)? Właśnie gdy wspominamy o zastrzeżeniach;)Aby uniknąć zmiany konfiguracji dla wszystkich użytkowników i uprawnień roota, użyj:
Następnie zaloguj się ponownie lub ponownie załaduj ~ / .inputrc
źródło