An open API service indexing awesome lists of open source software.

https://github.com/micro-hawk/bash-insulter

Randomly insults the user when typing aything wrong :)
https://github.com/micro-hawk/bash-insulter

Last synced: about 2 months ago
JSON representation

Randomly insults the user when typing aything wrong :)

Awesome Lists containing this project

README

          

# bash-insulter
Randomly insults the user when typing wrong command.

Change insults as needed :)

```bash
noob@bender:~ $ sl

Y u no speak computer???

-bash: sl: command not found
noob@bender:~ $ gti status

This is why nobody likes you.

-bash: gti: command not found
noob@bender:~ $ sp aux

Go outside.

-bash: sp: command not found
```

# Compatibility
* Bash v4 and newer
* ZSH

# Installation

# Method 1 - know what you are doing
git clone https://github.com/micro-hawk/bash-insulter.git bash-insulter
sudo cp bash-insulter/src/bash.command-not-found /etc/

Then source the file automatically for new logins by adding the following to `/etc/bash.bashrc` or any of the other locations where you can configure your shell automatically during login:
```
if [ -f /etc/bash.command-not-found ]; then
. /etc/bash.command-not-found
fi
```
Login again and type some invalid commands for the effects to be visible.

Note: You will have to add the script to `.zshrc` if you are using `zsh`

# Configuration
bash-insulter can be customized, or even be made polite and nice, by populating `CMD_NOT_FOUND_MSGS` or `CMD_NOT_FOUND_MSGS_APPEND` environment variables. The values should be arrays. `CMD_NOT_FOUND_MSGS` replaces the default messages, while `CMD_NOT_FOUND_MSGS_APPEND` appends more messages to the existing ones.

It is probably cleanest to source a file populating the environment variable as needed. In this example I create a file `/etc/bash.command-not-found-messages` with the following content:

CMD_NOT_FOUND_MSGS=(
"You are so smart!"
"You look pretty today!"
"I don't know what to say"
)

Then source this file before you source the script:
```
if [ -f /etc/bash.command-not-found-messages ]; then
. /etc/bash.command-not-found-messages
fi

if [ -f /etc/bash.command-not-found ]; then
. /etc/bash.command-not-found
fi
```

Then logout and in again. The end result is that you will now use your messages instead of the default ones.

# Thanks
###### $->MICROHAWK