Ответ муру прав, что пакет называется command-not-found. В основном он предоставляет скрипт python /usr/lib/command-not-found, который фактически выполняет основное задание.
Но сообщения, которые вы получаете в Ubuntu, фактически определяются функцией, которая фактически использует свойства command-not-found. Его называют command_not_found_handle и находятся в /etc/bash.bashrc.
$ type -a command_not_found_handle
command_not_found_handle is a function
command_not_found_handle ()
{
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1";
return $?;
else
if [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1";
return $?;
else
printf "%s: command not found\n" "$1" 1>&2;
return 127;
fi;
fi
}
Из-за вышеупомянутой функции мы получаем разные сообщения об ошибках в разных случаях:
$ svn
The program 'svn' is currently not installed. You can install it by typing:
sudo apt-get install subversion
$ foobar
foobar: command not found
Позволяет проверить: [ ! d4]
$ /usr/lib/command-not-found svn
The program 'svn' is currently not installed. You can install it by typing:
sudo apt-get install subversion
$ /usr/lib/command-not-found foobar
foobar: command not found
Поскольку у вас нет включенного пакета command-not-found, вы каждый раз выполняете следующий фрагмент функции command_not_found_handle:
printf "%s: command not found\n" "$1" 1>&2;
return 127;
Следовательно, вы получаете каждый раз:
$ svn
svn: command not found
$ foobar
foobar: command not found
В двух словах вы можете установить пакет command-not-found, а затем добавить функцию (если она еще не указана) в файл /etc/bash.bashrc (для всех пользователей ) или ~/.bashrc (только для вас).