Jak trwale usunąć alias z mojej powłoki


28

Kiedy nie byłem w pobliżu mojego komputera, jakiś facet go dostał i ustawił Alias ​​dla lsmojego folderu głównego. On to ustawił 'yes NeverGonnaGiveYouUp'. Więc teraz, gdy jestem w folderze głównym i lspiszę, otrzymuję nieskończoną pętlę NeverGonnaGiveYouUp. Doprowadza mnie to do szału i nie wiem, jak się go pozbyć.

Ja już próbowałem unaliasi unalias -atylko ci, po prostu usuń go tymczasowo. Po zamknięciu i ponownym otwarciu muszli powraca. Jak pozbyć się tego gówna?


2
Jaka jest wydajność grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile? Są też inne pliki, na które trzeba spojrzeć, w zależności od twojej powłoki i dystrybucji ... ale to powinno dać nam początek.
heemayl

5
To brzmi jak ten moduł LOL jądra rick roll
moonbutt74

Odpowiedzi:


24

Jeśli unalias usunie problem (nawet tymczasowo), otrzymamy potwierdzenie, że jest to alias. Można go „brutalnie wymusić” poprzez dodanie unalias ls w ~ / .bashrc.

echo "unalias ls" >> ~/.bashrc

To będzie kalkulowane za każdym razem, gdy bashrc zostanie odczytany i usunie alias.
To da ci spokój, ale nie rozwiąże faktycznego problemu, że jakiś plik nadal zawiera kod do ponownego uruchomienia aliasu. Musisz znaleźć plik, który zawiera problem.

Jeśli używasz bash:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

To dobra lista możliwych plików, które mają definicję. Jeśli nic nie pojawi się podczas wyszukiwania lub użyjesz innej powłoki, daj nam znać, aby uzyskać dalszą pomoc.


16

Komenda unalias wyłączyła alias na czas bieżącej sesji logowania. alias nie jest usuwany przez polecenie unalias z pliku .bashrc, gdy użytkownik loguje się ponownie, ten alias znów obowiązuje.

.bashrc to ukryty plik. Możesz sprawdzić listę aliasów, wpisując:

$ alias

Sprawdź plik konfiguracyjny powłoki ~ / .bashrc i możesz trwale usunąć wymagany alias:

 vi ~/.bashrc

Aby znaleźć Alias:

  $ type --all ls

Usuń alias:

unalias gs

Więcej w instrukcji

Uwaga : unalias -a usunie wszystkie definicje aliasów z bieżącego środowiska wykonywania powłoki.


-1

W systemie Ubuntu 16.04 LTS można użyć następującego polecenia

cat /dev/null > ~/.bash_aliases

Spowoduje to usunięcie wszystkiego zdefiniowanego w ~/.bash_aliases, nie tylko lsaliasu (który i tak może nie zostać zdefiniowany).
Stephen Kitt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.