シェルの「どういう意味ですか?」機能を削除するにはどうすればよいですか?


19

たとえば、コマンドを正しく入力できない場合:

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

コマンドインタープリターは、実行したいプログラムを推測しようとします。これは非常に迷惑です(Googleの動作に関連付けます)。

この機能を削除することはできますか?そしてどうやって?

私はそれが私のローカル~/.bashrcでセットアップされたと思っていましたが、高速チェックは悲惨に失敗しました...

回答:


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

変更を有効にするには、シェルを再起動する必要があります。


2
/usrパッケージに属するものの下を移動しないでください。の場合/usr/share/command-not-found、そのディレクトリはcommand-not-found-dataパッケージに属します。これで、パッケージマネージャーが混乱します。
ruief

9
sudo apt-get remove command-not-found command-not-found-data

他の答えとは反対に、パッケージマネージャーをディフェンスする場合を除き、手動で物事を移動しない/usrください。


3

ここでは他の回答には、両方のルートを想定し、そしてあなたは、システムに対してグローバルに削除すること。単一のユーザー(たとえば、自分のアカウント)に対してこれを無効にしたいだけであれば、次のようにすることができます。

unset command_not_found_handle

現在のシェルのコマンドラインで、または .bashrc

通常、この機能はcommand_not_found_handlein を定義することでグローバルに有効化される/etc/bash.bashrcため、デフォルトで無効化することもできますが、パワーユーザーはパッケージを使用可能にして、機能を定義し、自分のアカウントで機能を有効化できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.