Question: I'd like for something to hook into the 'command not found' error on bash and offer a useful fix. 

For example:

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

```

It would be nice if it said:

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

```

I've seen people include common typos in the .bash\_profile script like 'alias gerp=grep', but I figure someone has probably written a general extension to bash to fix this sort of thing.

Has anyone heard of such an extension?

Answer: 
I don't know of a general purpose one, but there is one for directory names:

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

```

This is from the man page for Bash:

```
If the search is unsuccessful, the shell searches for a defined shell 
function named command_not_found_handle.  If that function exists, it is 
invoked with the original command and the original command's arguments  
as its arguments

```

It might be possible to use this to do what you want, but the code would be quite a challenge. By the way, Ubuntu, for example, uses this to display packages that contain the command that was not found with installation instructions (apt-get).
the `command-not-found` package should provide this feature in recent distros.

If not, you can invoke it manually from the `command_not_found_handle()` function.

Another alternative is [this](https://github.com/nvbn/thefuck).