Apart from the length, what advantages does `[-z $VAR ] && VAR=x` over `if [ ! $VAR ]; then VAR=x fi` ?
Btw, The color script is cool. This makes ANSI sensible.
I don't think there are any functional or performance differences between these forms:
[ -n "$var" ] || var=X
[ -z "$var" ] && var=X
if [ ! "$var" ]; then var=X; fi
It's a question of [your] style and taste, I think.There are a lot more ANSI sequences that I could work into that block, but it is quite thorough for the space it occupies.
Instead of setting RED/GREEN/BLUE, you could do this:
Unless you have "set -e" this: Is more succinctly expressed as this: