Ukończenie bash nie działa u użytkownika root

10

Mam 12.04 i próbuję znaleźć sposób, aby włączyć uzupełnianie Bash u użytkownika root.

Wszelkie pomysły, jak to zrobić?

T0M XeOn LuCiFeR
źródło
Możliwy duplikat? askubuntu.com/questions/33440/…
lumbric
Podczas próby wpisania, co nie działa zakończenie bash? Czy to w ogóle nie działa?
harisibrahimkv
Nie działa podczas próby wpisania ROOT, u zwykłych użytkowników Działa dobrze, na przykład: root # apt-get install gua [tab] [tab] musi pokazywać coś jak Guake, ale nie będzie, także w przypadku innych rzeczy, Podczas gdy
pokazuje to
1
@ T0MXeOnLuCiFeR czy możesz dodać wynik działania sudo cat /root/.bashrc?
lędźwiowy
4
@ T0MXeOnLuCiFeR Czy nie masz nic przeciwko pisaniu „Like This Phrase?”, Utrudnia czytanie i nie ma sensu z niego korzystać.
Bruno Pereira

Odpowiedzi:

23

Uzupełnianie Bash można włączyć w pliku .bashrc, jak wyjaśniono w niniejszym pytaniu i odpowiedziach . W twoim przypadku wydaje się, że jest poprawny w .bashrc użytkownika, ale nie w .bashrc twojego roota. Ten ostatni plik znajduje się w /root/.bashrc. Otwórz ten plik w swoim ulubionym edytorze tekstu jako root (np. Uruchamiając sudo gedit /root/.bashrc) i usuń #na początku ostatnich trzech wierszy:

Musisz zmienić linie 98-100 z

#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

...do:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Następnie zamknij terminale i otwórz je ponownie.

lędźwiowy
źródło
tnx, wciąż mam problem, rozumiem, że mam na myśli polecenia podrzędne, np. kiedy wpiszesz apt-get, teraz napiszesz „instaluj”, wpiszesz pierwsze 3 słowa, a następnie wciśniesz tab u normalnego użytkownika, to działa u użytkownika root to nie .... co powinienem teraz zrobić ...?
T0M XeOn LuCiFeR
ZROBIŁEM, co mi powiedziałeś ... ale to nie działa, masz jakiś inny pomysł?
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR Jestem pewien, że to jest przyczyna twojego problemu. Czy catponownie zobaczyłeś, czy rzeczywiście zmieniłeś plik, tak jak zasugerowałem? Czy zamknąłeś i ponownie otworzyłeś wszystkie terminale? Jeśli nie, spróbuj uruchomić . /etc/bash_completionręcznie (pamiętaj, że istnieje .!).
lędźwiowy
Tak Człowieku, zrobiłem to ... Tnx W każdym razie było lepiej, ale nie to, co myślałem ... Sprawdzam po więcej szczegółów.
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR czy próbowałeś uruchomić . /etc/bash_completionręcznie?
lędźwiowy
1

Z powodzeniem włączyłem „zakończenie bash” w Ubuntu 12.04 LTS, edytując plik „bash.bash.rc” w „etc”.

Właśnie usunąłem „#” w wierszach 32-34 i uzupełnianie bash dla „sudo” działa teraz dobrze.

kabra
źródło