Make bash show the return code

When using a command line interface, I like to see all the output a program makes. The standard out and error are already dumped to my console, but there is one piece of information usually hidden from the user: the return code.

Add the following to your .bashrc to get a nice notification if a program returns a non-zero code:

The first thing we do is save the return code from $? into $ret, because subsequent commands, including [, will overwrite it. We then check if the return code is not equal to zero, i.e. is an error, and if so we print that string.

There isn’t actually any hex codes – the “\033” is octal 33, which is the escape character in ASCII. This tells the terminal to start interpreting the next characters as ANSI escape codes. These can be quite complex, but you can generate them easily with the tput utility.