Bagaimana cara menghapus fitur "maksud Anda ..." di shell?

19

Ketika saya gagal mengetik perintah dengan benar, misalnya:

luca@mostro:~$ sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
 Command 'sid' from package 'tendra' (universe)
sido: command not found

Penerjemah perintah mencoba menebak program apa yang ingin saya jalankan. Ini sangat mengganggu bagi saya (saya kaitkan dengan perilaku google).

Apakah mungkin untuk menghapus fitur ini? Dan bagaimana?

Saya kira itu sudah diatur di lokal saya ~/.bashrc, tetapi pemeriksaan cepat gagal total ...

Luca
sumber

Jawaban:

16
sudo apt-get remove command-not-found
sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak

Anda harus memulai ulang shell Anda agar perubahan dapat diterapkan.

Rinzwind
sumber
2
Jangan memindahkan barang-barang di bawah /usryang termasuk dalam paket. Dalam kasus ini /usr/share/command-not-found, direktori itu milik command-not-found-datapaket. Sekarang manajer paket Anda akan bingung.
ruief
9
sudo apt-get remove command-not-found command-not-found-data

Berlawanan dengan jawaban yang lain, Anda seharusnya tidak memindahkan barang secara manual ke bawah /usrkecuali jika Anda mencoba untuk mendestestasikan pengelola paket Anda.

kehancuran
sumber
3

Jawaban lain di sini sama-sama berasumsi, dan Anda ingin menghapusnya secara global untuk sistem. Jika Anda hanya ingin menonaktifkan ini untuk satu pengguna (misalnya, akun Anda sendiri), Anda dapat melakukannya:

unset command_not_found_handle

baik pada baris perintah untuk shell saat ini, atau di mereka .bashrc

Fitur ini biasanya diaktifkan secara global dengan mendefinisikan command_not_found_handledi /etc/bash.bashrc, sehingga juga bisa dinonaktifkan ada secara default, sementara masih meninggalkan paket yang tersedia untuk pengguna kekuatan untuk menentukan fungsi dan mengaktifkan fitur di akun mereka sendiri.

Randall
sumber