Próbuję użyć uzupełniania tabulatorów do poleceń w Ubuntu 11.04 Beta 1, uruchamiając wszystkie najnowsze aktualizacje, ale wydaje się, że to nie działa. (Chociaż pakiet bash-complete jest zainstalowany)
Uzupełnianie tabulatorów działa poprawnie tylko dla katalogów lub plików.
Jakieś pomysły, gdzie kopać?
bash
auto-completion
Screatch
źródło
źródło
Odpowiedzi:
Sprawdź, czy w swoim pliku .bashrc znajduje się następujący fragment (powinien być tam domyślnie)
źródło
bash-completion
jest niezbędny, aby to działało. Co dziwne, standardowa instalacja mojej firmy nie ma tego pakietu.Pomyślałem, że dodam również następujące dodatkowe wyjaśnienie niepowodzenia ukończenia bashu - jest on zbyt długi na komentarz i może być przydatny dla kogoś, kto ma problem z ukończeniem basha, ponieważ przypuszczalnie jest to „ogólne” pytanie kanoniczne, na które wszystkie duplikaty są odsyłane.
Nawet jeśli masz odpowiednią linię w swoim
.bashrc
(jak w powyższej odpowiedzi) ibash-completion
pakiet jest zainstalowany, zakończenie bash może nadal działać nieprawidłowo, jeśli masz jedenshopt -s nullglob
lubshopt -s failglob
w swoim.bashrc
lub.bash_aliases
.Poniższe scenariusze zostały przetestowane ze wszystkimi dostosowaniami użytkownika
.bashrc
i.bash_aliases
usunięte, aby dać rzetelny test, z.bashrc
obecną ibash-completion
zainstalowaną odpowiednią linią zakończenia bash .1) Pierwszy scenariusz ma miejsce
shopt -s failglob
w twoim.bashrc
lub.bash_aliases
.Podczas próby utworzenia tabulacji kompletnych katalogów i plików, odpowiednio, wystąpią następujące błędy:
Jednak polecenia będą nadal wykonywane poprawnie.
2) Przy
shopt -s nullglob
włączonej próbie przejścia do zakładki uzupełnia katalog lub plik, zamiast tego prowadzi do wyświetlenia wszystkiego na liście, bez zakończenia:Skróciłem tutaj listę, ponieważ była bardzo długa i nie trzeba jej wszystkiego reprodukować.
Ponownie wykonywanie poleceń będzie jednak nadal działać.
Tak więc, po prostu usuwając
shopt -s failglob
lubshopt -s nullglob
mogąc rozwiązać problem błędów z ukończeniem bash, zakładając, że masz odpowiednią linię w swoim.bashrc
ibash-completion
zainstalowaną.źródło
Oprócz modyfikacji
/etc/bash.bashrc
pliku (patrz inne odpowiedzi) może być konieczne zainstalowaniebash-completion
pakietu.Sprawdź, czy
/etc/bash_completion
plik się kończy. Jeśli nie:(W mojej instalacji Debiana 7 nie był początkowo zainstalowany)
źródło
Choć może się to wydawać proste, upewnij się, że bash jest Twoją aktywną powłoką
Właśnie zaktualizowałem system do Ubuntu 14.04.1 LTS i nie miałem automatycznego uzupełniania tabulatorów, nawet po zastosowaniu się do wskazówek w tym poście, tylko po to, by zdać sobie sprawę, że moja powłoka jest ustawiona na
/bin/sh
i nie/bin/bash
.źródło
Aktualizacja do Ubuntu 14.04.01
Sprawdź, czy w swoim pliku .bashrc znajduje się następujący fragment (powinien być tam domyślnie)
sudo vim /etc/bash.bashrc (wpisz „i”, aby edytować plik)
Odkomentuj 7 linii powyżej
Zapisz plik „esc + w + q + enter”
Uruchom ponownie bash
exec bash
źródło