Uzupełnianie zakładki Bash rozwija się z „~” do „/ home / ___”, gdy nie było wcześniej

13

Wcześniej, gdybym pisał ~/biTab, wcześniej zamieniłoby się w ~/bin. Jednak dzisiaj zaczął obracając ~/biTabsię /home/username/bin.

Wolałbym, żeby to było pierwsze, ale nie jestem pewien, co się stało ... Dodałem skrypt, aby edytować moje ukończenie bash, ale usunąłem go ~./bashrci zrestartowałem serwer.

Czy ktoś wie, co by to spowodowało? Lub jak chciałbym to zmienić?

EDYCJA Więc dowiedziałem się, co może powodować ... to ma związek z tym /etc/bash_completioni takimi tam. Kiedy to robię bind -v, pokazuje, że rozszerzenie tyld jest wyłączone.

Myślę więc, że jeśli to zmienię (coś w rodzaju hacka), zniknie. Ale to tak naprawdę niczego nie satysfakcjonuje - jak ta zmiana w ogóle się wydarzyła? Nigdy nie prowadziłem niczego sudo, a po wielu wyłączeniach i ponownych uruchomieniach takie zachowanie się utrzymuje.

Justin L.
źródło

Odpowiedzi:

8

Nie wspominasz o używanej dystrybucji (proszę podać tę informację w swoim pytaniu), ale zauważyłem podobne zachowanie po uruchomieniu aktualizacji w moich systemach.

Domyślam się, że kiedy uruchomiłeś aktualizację systemu lub jeśli uruchomiła się ona automatycznie, zaktualizowano pakiet „bash-complete”, który dodał to zachowanie. W pochodnych Red Hat można znaleźć dokumentację pakietu w /usr/share/doc/PACKAGENAME. W moim przypadku /usr/share/doc/bash-completion-1.3/CHANGESnowe zmiany są wymienione w formacie dziennika zmian.

Zamiast modyfikować /etc/bash_completion, co może zostać nadpisane przy następnej aktualizacji pakietu, możesz utworzyć, ~/.inputrcaby wyłączyć rozwijanie tyldy. Potwierdziłem, że bash_completion-1.3.6 uhonoruje to na moim pudełku Fedory 16.

set expand-tilde off

EDYTOWAĆ

Twój przebieg może się różnić w zależności od ~/.inputrc. Bash ma funkcje, które mogą zastąpić to zachowanie w zależności od tego, co próbujesz wykonać (np. Program kontra plik lub katalog). Ta dyskusja na temat Super User SE dotyczy podobnego pytania podczas autouzupełniania vimpolecenia. W tym przypadku oryginalny plakat rozwiązał swój problem , dodając do niego niestandardową funkcję ~/.bashrc.

George M.
źródło
1
Ostatni bit zależy również od dystrybucji. Niektóre dystrybucje (na przykład Gentoo) faktycznie postępują właściwie i nie nadpisują plików, /etcjeśli zostały zmienione.
njsg
1
Czynią to również instrumenty pochodne Red Hat. Plik zastępczego pliku konfiguracyjnego xxxjest następnie wywoływany, xxx.rpmnewjeśli zmiany konfiguracji nie są krytyczne; jeśli zmiany w konfiguracji są naprawdę wymagane, wówczas nazwa oryginału zostaje zmieniona xxx.rpmsavei xxxjest to plik z pakietu.
vonbrand
expand-tylda nie działa, skończyło się na tym, że usunąłem kod, który wykonał rozszerzenie z mojego komputera. Prawdopodobnie zepsuje się przy aktualizacji systemu, ale: |
Justin L.,