Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Useful terminal control characters
# Terminal output control (
# Hope no terminal is greater than 1k columns
# Colors and styles (based on
Bold="${TC}1m" # Bold text only, keep colors
Undr="${TC}4m" # Underline text only, keep colors
Inv="${TC}7m" # Inverse: swap background and foreground colors
Reg="${TC}22;24m" # Regular text only, keep colors
RegF="${TC}39m" # Regular foreground coloring
RegB="${TC}49m" # Regular background coloring
Rst="${TC}0m" # Reset all coloring and style
# Basic High Intensity Background High Intensity Background
Black="${TC}30m"; IBlack="${TC}90m"; OnBlack="${TC}40m"; OnIBlack="${TC}100m";
Red="${TC}31m"; IRed="${TC}91m"; OnRed="${TC}41m"; OnIRed="${TC}101m";
Green="${TC}32m"; IGreen="${TC}92m"; OnGreen="${TC}42m"; OnIGreen="${TC}102m";
Yellow="${TC}33m"; IYellow="${TC}93m"; OnYellow="${TC}43m"; OnIYellow="${TC}103m";
Blue="${TC}34m"; IBlue="${TC}94m"; OnBlue="${TC}44m"; OnIBlue="${TC}104m";
Purple="${TC}35m"; IPurple="${TC}95m"; OnPurple="${TC}45m"; OnIPurple="${TC}105m";
Cyan="${TC}36m"; ICyan="${TC}96m"; OnCyan="${TC}46m"; OnICyan="${TC}106m";
White="${TC}37m"; IWhite="${TC}97m"; OnWhite="${TC}47m"; OnIWhite="${TC}107m";
# examples
# echo "${Bold}${Red}bold red on ${OnBlue}blue background,${RegB} now back to regular background, ${RegF}regular foreground and ${Reg}regular text"
# echo "${Bold}${Undr}${Green}You can reset this whole style in one${Rst} command"
# echo -n "${Bold}${Blue}${OnWhite}bold blue text on white background${Rst}"; sleep 3; echo "${RESET_LINE}${Red}${OnYellow}becomes red text on yellow background${Rst}"

Thanks man, it helps a lot~ Notice that you might need to use echo -e for those color escaped sequences to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.