Obecnie korzystam z 64-bitowej wersji Debian Wheezy.
Mam problem z automatycznym ukończeniem apt-get. Mam zainstalowane zakończenie bash.
Jeśli jestem zalogowany jako root w powłoce, mogę użyć automatycznego uzupełniania dla apt-get (np. Apt-get install wicd [tab] [tab ]) i pokaże mi wszystkie pakiety, które pasują do tego. Ale jeśli spróbuję użyć automatycznego uzupełniania dla apt-get u innego użytkownika niż root (nawet z sudo), to w ogóle nie zadziała. Mogę automatycznie uzupełniać inne rzeczy, takie jak nazwy plików.
Jakaś pomoc?
Mam następujący kod w moim .bashrc i / etc / profile
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
bash
apt
autocomplete
not-root-user
Dennis Linuz
źródło
źródło
Odpowiedzi:
Brak
/etc/bash_completion
pliku.sudo apt-get install bash-completion
powinien rozwiązać wszystkie twoje problemy.
Biorąc pod uwagę, że masz już
/etc/bash.bashrc
niepomocowane linie, jak zauważyli Faheem Mitha i inni, powinno to działać teraz:Powód:
bash-completion
Pakiet ma teraz ten plik (/ etc / bash_completion). Kiedyś był wbash
pakiecie, ale już nie.informacje o zmianie pakietu
źródło
Spróbuj uruchomić to:
źródło
Nie pamiętam, czy jest to konieczne, ale spróbuj odkomentować odpowiednie wiersze,
/etc/bash.bashrc
jeśli nie jest to już niezomentowane, a mianowicieźródło
Jak pamiętam, autouzupełnianie bash dla parametrów polecenia odbywa się za pomocą
complete
polecenia. Powinieneś mieć skrypt ukończenia apt-get załadowany przez użytkownika root bashrc (może /root/.bashrc), więc aby go uruchomić, musisz zalogować się rootem. Sudo nie ładuje skryptów logowania roota, po prostu daje ci uprawnienia.Być może brakuje ci tego skryptu autouzupełniania dla użytkowników innych niż root, więc nie mają skonfigurowanego autouzupełniania bash dla apt-get. Jeśli tak jest, załaduj funkcję dla użytkowników posiadających WSZYSTKIE uprawnienia w pliku sudoers.
źródło