

Detecting command failures in bash - redduck666
http://almirkaric.com/2010/01/31/detecting-command-failures-in-bash/

======
derobert
Much better approach (assuming all your terminals use the same colors codes,
you could of course use tput if not):

    
    
      RED="\[\033[31;1m\]"
      NORMAL="\[\033[0m\]"
      PS1_INSIDE='\u@\h:\w$bad\$ '
      PS1="\`
      	retcode=\$? ;
      	if [ 0 -ne \$retcode ]; then
      		bad=\" [\\\\\\\$?=\$retcode]\"
      		echo \"$RED$PS1_INSIDE$NORMAL\"
      	else
      		bad='';
      		echo \"$PS1_INSIDE\";
      	fi;
      \`"
      unset RED NORMAL PS1_INSIDE
    

Examples:

    
    
      anthony@Tao:~$ true
      anthony@Tao:~$ false
      anthony@Tao:~ [$?=1]$  # actually in bold red

------
steveitis
This article describes any easy way to do this incorrectly.

It also has simple spelling errors, such as 'weather' for 'whether'.

It is NOT what I've come to expect from HN. Downvotes for everyone involved.

 __Oh. Right. I can't downvote. Damn.

------
gcb
so un-unix.

~~~
silentbicycle
Well, it has _bash_ in the title, so surprise surprise.

If it were about detecting failed commands in Unix shells, all it would need
to say is "$?", though. That's hardly worth a blog post.

<http://www.openbsd.org/cgi-bin/man.cgi?query=sh>

