Ubuntu'nun “komut bulunamadı” demesi neden bu kadar uzun sürüyor?


24

Bazı nedenlerden dolayı, kurulumumda, yanlışlıkla bir komut yazdığımda "komut bulunamadı" ile yanıt vermek Ubuntu'nun birkaç saniye sürebilir. Neden bu kadar uzun sürüyor? Beklemem gereken süreyi kısaltmanın bir yolu var mı?

PATH'imde 13 dizin var ama yine de (çoğunda bunlarda sadece birkaç dosya var), bir komut için 13 dizin aramak için birkaç saniye sürmemeli, değil mi?

Yanıtlar:


34

Kabuk sadece bakmaktan daha fazlasını yapıyor $PATH. Eğer bir komut bulunmazsa, bash işlevi command_not_found_handlepython betiğini çağıran bash işlevi çalıştırılır /usr/lib/command-not-found. Bu, komutun çalışması için yüklenmesi gereken programları paketler listesinde arar. Nasıl çözeceğinizi bildiğiniz bir yazım hatası durumunda , arama işlemini iptal etmek için Ctrl+ tuşuna basın C.

Bir yazım hatası için yararlı bir mesaj örneği:

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

Eksik bir paket için faydalı bir mesaj örneği:

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

Bunun arkasındaki gerekçeye de bakın, https://wiki.ubuntu.com/CommandNotFoundMagic


5
Linus bu konuda bir şey yayınladı: plus.google.com/u/0/102150693225130002912/posts/iz7zR9B1Prv
bcbc

Ve bunun gerçekten şaşırtıcı bir özellik olduğunu düşünüyorum! Mevcut olmasını beklediğiniz bir komut kullanıyorsanız, ancak orada yoksa, yüklemek için ne yazmanız gerektiğini doğrudan söyleyin.
Thorbjørn Ravn Andersen

8

Bu, "komut bulunamadı" adlı bir paket nedeniyle. Tepki süresini kısaltmak için kaldırabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.