По какой-то причине, с моей настройкой, Ubuntu может потребоваться несколько секунд, чтобы ответить «команда не найдена», когда я случайно набрал команду. Почему это так долго? Есть ли способ сократить время ожидания?
У меня есть 13 каталогов в моей переменной PATH, но даже в этом случае (в большинстве из них всего несколько файлов), это не должно займет несколько секунд, чтобы найти 13 каталогов для команды, верно?
Это из-за пакета с именем «command-not-found». Вы можете удалить его, чтобы сократить время отклика.
Оболочка делает больше, чем просто смотрит в $PATH
. Если команда не найдена, выполняется функция bash command_not_found_handle
, которая в свою очередь вызывает скрипт python /usr/lib/command-not-found
. В списке пакетов выполняется поиск программ, которые должны быть установлены для работы команды. В случае опечатки, которую вы знаете, как решить, просто нажмите Ctrl kbd> + C kbd>, чтобы прервать процесс поиска.
Пример полезного сообщения для опечатки:
$ 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