3 ms·
To avoid cryptic looking escape sequences, one could have the colour codes named in their .?shrc file [1]: txtblk='\e[0;30m' # Black - Regular txtred='\e[0
by xtacy 16y ago
To avoid cryptic looking escape sequences, one could have the colour codes named in their .?shrc file [1]:
txtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
badgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset
[1] https://wiki.archlinux.org/index.php/Color_Bash_Prompt https://wiki.archlinux.org/index.php/Color_Bash_Prompt
- 1amzave 16y agoI have a similar section in my .bashrc via a somewhat hackish loop (or two): ESC=$'\x1b' # Terminal color escapes colornames=(BLACK RED GREEN YELLOW BLUE MAGENTA CYAN) for i in ${!colornames[@]}; do eval "${colornames[$i]}=\"${ESC}[3${i}m\"" eval "BG${colornames[$i]}=\"${ESC}[4${i}m\"" done # There are holes in this sequence, so it doesn't loop nicely BOLD="${ESC}[1m" DARK="${ESC}[2m" UNDERLINE="${ESC}[4m" BLINK="${ESC}[5m" INVERSE="${ESC}[7m" RST="${ESC}[m" styles=(BOLD DARK UNDERLINE BLINK INVERSE RST) # and the PS1-safe versions of the above for i in ${colornames[@]} ${colornames[@]/#/BG} ${styles[@]}; do eval "PS$i=\"\\[\$$i\\]\"" done Having color escapes in shell variables comes in handy from time to time (like faking 'colordiff' with sed).