export しなきゃいけないの? (shell 変数じゃ駄目?)

あとは RED でなく
COLOR_{R,G,B,C,M,Y,...} みたいにして
COLOR_ZZ 辺りに戻すシーケンスを入れておく

おいらのは
CLbgK='\033[0;40m'
...
CLfgWb='\033[1;37m'
CLreset='\033[0m' (←alphabet order で最後に来るようになってる)