bashのタイプミス修正プログラムはありますか?


8

bashの「コマンドが見つかりません」エラーにフックして、有用な修正を提供したいのですが。

例えば:

grep-C3  error
bash: grep-C3: command not found

それが言ったらそれはいいでしょう:

Did you mean: grep -C3 error (Y/n)

「alias gerp = grep」のような一般的なタイプミスが.bash_profileスクリプトに含まれているのを見てきましたが、この種の問題を修正するために誰かがbashの一般的な拡張機能をおそらく書いているようです。

誰かがそのような拡張機能を聞いたことがありますか?


回答:


4

汎用的なものは知りませんが、ディレクトリ名用のものがあります。

$ shopt -s cdspell
$ cd /usr/ibn
/usr/bin
$ pwd
/usr/bin
$ cd /usr/shar/doc
/usr/share/doc

これはBashのmanページからです:

検索が失敗した場合、シェルは定義されたシェルを検索します 
command_not_found_handleという名前の関数。その関数が存在する場合、それは
元のコマンドと元のコマンドの引数で呼び出された  
その引数として

これを使用して必要なことを実行することは可能かもしれませんが、コードは非常に困難です。ちなみに、たとえばUbuntuはこれを使用して、インストール手順(apt-get)で見つからなかったコマンドを含むパッケージを表示します。



0

command-not-foundパッケージには、最近のディストリビューションでは、この機能を提供する必要があります。

そうでない場合は、command_not_found_handle()関数から手動で呼び出すことができます。

別の選択肢はこれです。

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