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