Detecting command failures in bash
almirkaric.com
almirkaric.com
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 redIt 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.
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.