Change the output color of echo using tput in Linux

tput setaf 1; echo "this is red text"

The count of colors available to tput is given by tput colors

To see the basic 8 colors (as used by setf in urxvt terminal and setaf in xterm terminal):

Color       #define       Value       RGB
black     COLOR_BLACK       0     0, 0, 0
red       COLOR_RED         1     max,0,0
green     COLOR_GREEN       2     0,max,0
yellow    COLOR_YELLOW      3     max,max,0
blue      COLOR_BLUE        4     0,0,max
magenta   COLOR_MAGENTA     5     max,0,max
cyan      COLOR_CYAN        6     0,max,max
white     COLOR_WHITE       7     max,max,max

To print all 256 colors in the terminal, try the following one-liner:

for c in {0..255}; do tput setaf $c; tput setaf $c | cat -v; echo =$c; done

References
https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
https://unix.stackexchange.com/questions/269077/tput-setaf-color-table-how-to-determine-color-codes

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.