ฉันจะลบคุณสมบัติ“ คุณหมายถึง…” ในเชลล์ได้อย่างไร?


19

เมื่อฉันพิมพ์คำสั่งไม่ถูกต้องตัวอย่างเช่น:

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

ตัวแปลคำสั่งพยายามเดาว่าโปรแกรมใดที่ฉันต้องการเรียกใช้ มันน่ารำคาญมากสำหรับฉัน (ฉันเชื่อมโยงกับพฤติกรรมของ Google)

เป็นไปได้ไหมที่จะลบคุณสมบัตินี้? แล้วยังไง?

ฉันควรจะตั้งค่าในท้องถิ่นของฉัน~/.bashrcแต่การตรวจสอบที่รวดเร็วล้มเหลวอย่างน่าสังเวช ...

คำตอบ:


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

คุณต้องรีสตาร์ทเชลล์เพื่อให้การเปลี่ยนแปลงมีผล


2
อย่าเคลื่อนย้ายสิ่งต่างๆรอบ ๆ/usrที่อยู่ในแพ็คเกจ ในกรณีของ/usr/share/command-not-foundไดเรกทอรีนั้นเป็นของcommand-not-found-dataแพ็คเกจ ตอนนี้ผู้จัดการแพคเกจของคุณจะสับสน
ruief

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

ตรงกันข้ามกับคำตอบอื่น ๆ คุณไม่ควรย้ายสิ่งต่างๆด้วยตัวเอง/usrเว้นแต่ว่าคุณกำลังพยายามจะกำจัดผู้จัดการแพคเกจของคุณ


3

คำตอบอื่น ๆ ที่นี่ทั้งคู่ถือว่ารูทและคุณต้องการที่จะลบออกไปทั่วโลกสำหรับระบบ หากคุณต้องการปิดการใช้งานนี้สำหรับผู้ใช้คนเดียว (เช่นบัญชีของคุณเอง) คุณสามารถทำได้:

unset command_not_found_handle

ทั้งบนบรรทัดคำสั่งสำหรับเปลือกปัจจุบันหรือในพวกเขา .bashrc

โดยทั่วไปคุณลักษณะนี้จะเปิดใช้งานทั่วโลกโดยกำหนดcommand_not_found_handleไว้/etc/bash.bashrcดังนั้นจึงสามารถปิดใช้งานได้ตามค่าเริ่มต้นในขณะที่ยังคงมีแพ็คเกจสำหรับผู้ใช้ที่มีอำนาจในการกำหนดฟังก์ชั่นและเปิดใช้งานคุณสมบัติในบัญชีของตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.