# Quick shell COLOrizer Package # Source in BASH # Examples: # As functions: # _title(){ _qCol z G; } # _z(){ _qCol z; } # _title; echo Title; _z # As variables # TITLE=$( _qCol z G; ) # Z=$( _qCol z; ) # echo ${TITLE}Title${Z} _qCol() { local K="\033[1;30m" local R="\033[1;31m" local G="\033[1;32m" local B="\033[1;34m" local Y="\033[1;33m" local M="\033[1;35m" local C="\033[1;36m" local W="\033[1;37m" local k="\033[0;30m" local r="\033[0;31m" local g="\033[0;32m" local b="\033[0;34m" local y="\033[0;33m" local m="\033[0;35m" local c="\033[0;36m" local w="\033[0;37m" local bk="\033[40m" local br="\033[41m" local bg="\033[42m" local by="\033[43m" local bb="\033[44m" local bm="\033[45m" local bc="\033[46m" local bw="\033[47m" local S='\033[1m' #strong local s='\033[2m' #strong off local U='\033[4m' #underline local u='\033[24m' #underline off local z='\033[0m' #zero colors local Z='\033[0m' #zero colors local ic='\033[7m' #inverse colors local io='\033[27m' #inverse off local st='\033[9m' #strike on local so='\033[29m' #strike off local CLRLIN='\033[2J' local CLREND='\033[K' local CLRBEG='\033[1K' local CLRSCR="$CLRLIN"'\033[0;0H' local color_keys=" K R G B Y M C W k r g b y m c w S s U u z Z ic io st so bk br bg by bb bm bc bw CLRLIN CLREND CLRBEG CLRSCR " local arg val for ((arg=1;arg<=$#;arg++)) { val=${!arg} [[ ${color_keys} = *" $val "* ]] || { echo "No such color code '${val}'" >&2; return 1; } printf ${!val} } } _qCode() { local arg val for ((arg=1;arg<=$#;arg++)) { val=${!arg} printf '\033['"${val}m" } }