Terminal Ubuntu korzysta z automatycznego uzupełniania z rozróżnianiem wielkości liter, jak przypuszczam, że można się spodziewać po Linuksie.
Ale wydaje mi się, że często wygodniej byłoby użyć bez rozróżniania wielkości liter, aby zaoszczędzić ci dokładności podczas rozpoczynania nazwy i prawdopodobnie byłby wart dodatkowych fałszywych trafień. Czy można zmienić to zachowanie?
command-line
bash
auto-completion
case-insensitive
mwfearnley
źródło
źródło
Odpowiedzi:
Aby
bash
rozróżnić wielkość liter dla bieżącego użytkownika:Uruchom następujący skrypt powłoki w terminalu:
Uruchom nową powłokę (ponownie otwórz terminal).
Aby wprowadzić zmiany w całym systemie:
Aby uzyskać szczegółowe informacje, patrz
man bash
. Tak, jest to długa strona, ale bash jest dość złożonym programem, a jeśli chcesz po prostu wyszukać na tej stronie „bez rozróżniania wielkości liter”, aby przejść do odpowiedniej sekcji. Ludzie zwykle uczą się bash jednej opcji na raz lub jednego skryptu bash na raz i opanowanie wszystkich niuansów zajmuje dużo czasu. Twoje zainteresowania mogą się różnić.źródło
>>
też bezpieczniejsze niż>
?$include /etc/inputrc
iset completion-ignore-case on
powinien znajdować się w pliku ~ ..inputrc.Otwórz terminal i wpisz poniższe polecenie:
Wprowadź hasło. Uruchom ponownie terminal.
Jeśli w niektórych przypadkach chcesz usunąć wielkość liter, po prostu edytuj plik / etc / inputrc, usuwając
set completion-ignore-case
wiersz.To wszystko.
źródło
Wiem, że to pytanie jest bardzo stare, ale chyba że coś mi brakuje, myślę, że mam super proste rozwiązanie, jeśli używasz bash.
Lub po prostu dodaj wiersz za pomocą swojego ulubionego edytora tekstu. Uruchom ponownie sesję bash i ciesz się.
źródło
~/.inputrc
jest czytany przez readline, czyli tego, czego używa bash w celu zapewnienia tego zakończenia. Readline jest również używany przez inne programy, więc dla ogólnego ustawienia tego,~/.inputrc
zgodnie z sugestią, zaakceptowana odpowiedź byłaby lepsza.bind 'set completion-ignore-case on'
pójście w nowej linii.bashrc
Możesz to zrobić ustawiając zmienną konfiguracyjną dla readline GNU, która obsługuje dane wejściowe w interaktywnej powłoce.
Potrzebną zmienną jest
completion-ignore-case
i można ją ustawić bezpośrednio w sesji bash za pomocą:Można go włączyć dla wszystkich przyszłych sesji bash, umieszczając go w
~/.inputrc
pliku użytkownika lub w systemie/etc/inputrc
, aby włączyć go dla wszystkich użytkowników. To jest plik inicjujący readline.Pamiętaj jednak, że jeśli utworzysz
~/.inputrc
, zastąpi to kopię systemową . (Dla mnie spowodowało to utratę niektórych kluczowych mapowań, takich jakCtrl-Left
/Right
. Możesz zobaczyć, które z nich można odczytać z/etc/inputrc
pliku.)Aby rozwiązać ten problem, umieść wiersz
$include /etc/inputrc
na górze~/.inputrc
, np .:Aby zastosować zmiany, uruchom bash lub przeładować inputrc , np Ctrl+x, Ctrl+r.
Więcej informacji o readline i inputrc można znaleźć w
man bash
iman 3 readline
.źródło