Se isso acontecer no Ubuntu, askubuntu.com está dizendo que O bash usa /usr/lib/command-not-found
, que usa o módulo CommandNotFound
do Python.
Você pode ver em /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
as linhas exatas que são responsáveis por "mas existem X similares", elas começam na linha 178 no arquivo CommandNotFound.py:
if len(mispell_packages)+len(mispell_snaps) > max_alt:
print("", file=self.output_fd)
print(_("Command '%s' not found, but there are %s similar ones.") % (word, len(mispell_packages)), file=self.output_fd)
print("", file=self.output_fd)
self.output_fd.flush()
return
Como não há switch, flag ou qualquer opção para fazer CommandNotFound.py retornar também uma lista desses comandos similares, se você realmente quer saber quais são esses pacotes, você poderia simplesmente editar esta parte do arquivo python e adicionar duas linhas que imprimirá o conteúdo da matriz com comandos semelhantes, em vez de apenas um número de itens nessa matriz. As linhas adicionadas são as linhas 4 e 5 nesta parte do código:
if len(mispell_packages)+len(mispell_snaps) > max_alt:
print("", file=self.output_fd)
print(_("Command '%s' not found, but there are %s similar ones.") % (word, len(mispell_packages)), file=self.output_fd)
for x in range(len(mispell_packaged)):
print(mispell_packages[x])
print("", file=self.output_fd)
self.output_fd.flush()
return
Agora, quando você salvar /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
(você precisa editá-lo como raiz) e digitar int
, você terá:
Command 'int' not found, but there are 18 similar ones.
('itd, 'ncl-ncarg', 'universe', '')
('ant, 'ant', 'universe', '')
('inl, 'ioport', 'universe', '')
('inw, 'ioport', 'universe', '')
('tint, 'tint', 'universe', '')
('inc, 'mailutils-mh', 'universe', '')
('inc, 'mmh', 'universe', '')
('inc, 'nmh', 'universe', '')
('nit, 'python-nevow', 'universe', '')
('init, 'systemd-sysv', 'main', '')
('itv, 'python-invoke', 'universe', '')
('itv, 'python3-invoke', 'universe', '')
('cnt, 'open-infrastructure-container-tools', 'universe', '')
('inb, 'ioport', 'universe', '')
('ent, 'ent', 'universe', '')
('ink, 'ink', 'universe', '')
('iyt, 'python3-yt', 'universe', '')
('iat, 'iat', 'universe', '')
A lista contém nomes de comandos semelhantes (itd e, inl, inw, tint) e os pacotes que fornecem esses comandos (ncl-ncarg, ant, ioport) e o repo de onde vem ( universe, main ).
Espero que você tenha satisfeito sua curiosidade :) Para ser sincera, fiquei curiosa também depois de ler o seu post.