Làm thế nào để tôi loại bỏ các ý nghĩa của bạn trên phạm vi vỏ bí mật?


19

Khi tôi không gõ đúng một lệnh, ví dụ:

luca@mostro:~$ sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
 Command 'sid' from package 'tendra' (universe)
sido: command not found

Trình thông dịch lệnh cố gắng đoán chương trình tôi muốn chạy. Điều này rất khó chịu với tôi (tôi liên kết nó với hành vi của google).

Có thể loại bỏ tính năng này? Và làm thế nào?

Tôi cho rằng nó đã được thiết lập tại địa phương của tôi ~/.bashrc, nhưng việc kiểm tra nhanh đã thất bại thảm hại ...

Câu trả lời:


16
sudo apt-get remove command-not-found
sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak

Bạn cần khởi động lại vỏ của mình để thay đổi có hiệu lực.


2
Đừng di chuyển những thứ xung quanh /usrthuộc về các gói. Trong trường hợp /usr/share/command-not-found, thư mục đó thuộc về command-not-found-datagói. Bây giờ quản lý gói của bạn sẽ bị nhầm lẫn.
hủy hoại

9
sudo apt-get remove command-not-found command-not-found-data

Trái với câu trả lời khác, bạn không nên tự di chuyển mọi thứ xung quanh /usrtrừ khi bạn đang cố gắng làm giảm nhẹ trình quản lý gói của mình.


3

Các câu trả lời khác ở đây đều giả sử root bạn muốn xóa nó trên toàn cầu cho hệ thống. Nếu bạn chỉ muốn vô hiệu hóa điều này cho một người dùng (ví dụ: tài khoản của riêng bạn), bạn chỉ cần làm:

unset command_not_found_handle

hoặc trên dòng lệnh cho shell hiện tại hoặc trong shell của chúng .bashrc

Tính năng này thường được kích hoạt trên toàn cầu bằng cách định nghĩa command_not_found_handletrong /etc/bash.bashrc, vì vậy cũng có thể được vô hiệu hóa có theo mặc định, trong khi vẫn để lại các gói có sẵn cho người dùng sức mạnh để xác định chức năng và kích hoạt tính năng trong tài khoản của mình.

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.