Làm cách nào để xóa vĩnh viễn Bí danh khỏi Shell của tôi


28

Khi tôi không ở gần máy tính của mình, một người nào đó đã lấy nó và đặt Bí danh cho lstrong thư mục gốc của tôi. Anh đặt nó vào 'yes NeverGonnaGiveYouUp'. Vì vậy, bây giờ khi tôi trong thư mục gốc và gõ, lstôi nhận được một vòng lặp vô hạn của NeverGonnaGiveYouUp. Nó khiến tôi phát điên và tôi không biết làm thế nào để thoát khỏi nó.

Tôi đã thử unaliasunalias -anhững người chỉ tạm thời xóa nó. Khi tôi đóng vỏ và mở lại, nó sẽ quay trở lại. Làm thế nào để tôi thoát khỏi crap này?


2
Sản lượng của grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profilecái gì? Có một số tệp khác để xem xét tùy thuộc vào shell và distro của bạn..nhưng điều này sẽ cho chúng ta một sự khởi đầu ..
heemayl

5
Nghe có vẻ như mô-đun hạt nhân cuộn rick LOL
moonbutt74

Câu trả lời:


24

Nếu unalias loại bỏ vấn đề (thậm chí tạm thời), chúng tôi đã xác nhận đó là bí danh. Nó có thể được "bắt buộc" bằng cách thêm một unalias ls vào ~ / .bashrc.

echo "unalias ls" >> ~/.bashrc

Điều đó sẽ bị loại bỏ mỗi khi bashrc được đọc và sẽ xóa bí danh.
Điều đó sẽ mua cho bạn một số hòa bình nhưng sẽ không giải quyết được vấn đề thực tế là một số tệp vẫn chứa mã để khởi động lại bí danh. Bạn cần tìm tập tin nào chứa vấn đề.

Nếu sử dụng bash:

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

Đó là một danh sách tốt các tập tin có thể có định nghĩa. Nếu không có gì hiển thị trong tìm kiếm đó hoặc bạn sử dụng một số vỏ khác, hãy cho chúng tôi biết để được trợ giúp thêm.


16

lệnh unalias đã tắt bí danh trong suốt thời gian của phiên đăng nhập hiện tại. bí danh không bị xóa bởi lệnh unalias từ tệp .bashrc, khi người dùng đăng nhập lại, bí danh đó lại có hiệu lực.

.bashrc là một tệp ẩn, Bạn có thể kiểm tra danh sách bí danh bằng cách nhập:

$ alias

Kiểm tra tệp cấu hình shell ~ / .bashrc và bạn có thể xóa bí danh được yêu cầu vĩnh viễn:

 vi ~/.bashrc

Để tìm bí danh:

  $ type --all ls

Xóa một bí danh:

unalias gs

Thêm tại Hướng dẫn

Lưu ý : unalias -a sẽ xóa tất cả các định nghĩa bí danh khỏi môi trường thực thi shell hiện tại.


-1

Đối với Ubuntu 16.04 LTS, bạn có thể sử dụng lệnh sau

cat /dev/null > ~/.bash_aliases

Điều đó sẽ loại bỏ bất cứ điều gì được xác định trong ~/.bash_aliases, không chỉ là lsbí danh (mà thậm chí có thể không được xác định ở đó).
Stephen Kitt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.