Live data from Hacker News

Detecting command failures in bash

almirkaric.com

1–5 of 5 posts

Re: Detecting command failures in bash

#4
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.

Re: Detecting command failures in bash

#5
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