เหตุใด Ubuntu จึงใช้เวลานานถึงจะพูดว่า "ไม่พบคำสั่ง"


24

ด้วยเหตุผลบางอย่างด้วยการตั้งค่าของฉันมันอาจใช้เวลา Ubuntu หลายวินาทีในการตอบสนองด้วย "ไม่พบคำสั่ง" เมื่อฉันพิมพ์คำสั่งโดยไม่ตั้งใจ ทำไมใช้เวลานาน มีวิธีใดที่จะลดระยะเวลาที่ฉันต้องรอได้หรือไม่

ฉันมี 13 ไดเรกทอรีใน PATH ของฉัน แต่ถึงกระนั้น (ส่วนใหญ่มีเพียงไม่กี่ไฟล์ในนั้น) มันไม่ควรใช้เวลาหลายวินาทีในการค้นหา 13 ไดเรกทอรีสำหรับคำสั่งใช่ไหม?

คำตอบ:


34

$PATHเปลือกไม่มากกว่าเพียงแค่มองใน หากคำสั่งไม่พบฟังก์ชั่นทุบตีจะถูกดำเนินการซึ่งในทางกลับกันมันเรียกสคริปต์หลามcommand_not_found_handle /usr/lib/command-not-foundค้นหาในรายการแพ็กเกจสำหรับโปรแกรมที่ควรติดตั้งเพื่อให้คำสั่งทำงานได้ ในกรณีที่พิมพ์ผิดที่คุณรู้วิธีแก้ไขเพียงกดCtrl + Cเพื่อยกเลิกกระบวนการค้นหา

ตัวอย่างข้อความที่มีประโยชน์สำหรับการพิมพ์ผิด:

$ aptget update
No command 'aptget' found, did you mean:
 Command 'apt-get' from package 'apt' (main)
aptget: command not found

ตัวอย่างข้อความที่มีประโยชน์สำหรับแพ็คเกจที่ขาดหายไป:

$ deja-dup
The program 'deja-dup' is currently not installed.  You can install it by typing:
sudo apt-get install deja-dup

ดูเหตุผลที่อยู่เบื้องหลังสิ่งนี้https://wiki.ubuntu.com/CommandNotFoundMagic


5
Linus โพสต์บางสิ่งเกี่ยวกับสิ่งนี้: plus.google.com/u/0/102150693225130002912/posts/iz7zR9B1Prv
bcbc

และฉันคิดว่านี่เป็นคุณสมบัติที่น่าทึ่งอย่างแท้จริง! หากคุณใช้คำสั่งที่คุณคาดว่าจะปรากฏ แต่ไม่ได้อยู่ที่นั่นคุณจะได้รับคำสั่งให้ติดตั้ง
Thorbjørn Ravn Andersen

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