The tput(1) utility uses the terminfo database to make the values of terminal-dependent capabilities and information available to the shell, to initialize, reset the terminal, set colors, font weight and much more.
tput setab [1-7] # Set a background colour using ANSI escape tput setaf [1-7] # Set a foreground colour using ANSI escape
Colors are as follows:
Num Colour #define RGB 0 black COLOR_BLACK 0,0,0 1 red COLOR_RED max,0,0 2 green COLOR_GREEN 0,max,0 3 yellow COLOR_YELLOW max,max,0 4 blue COLOR_BLUE 0,0,max 5 magenta COLOR_MAGENTA max,0,max 6 cyan COLOR_CYAN 0,max,max 7 white COLOR_WHITE max,max,max
There are also non-ANSI versions of the colour setting functions (setb instead of setab, and setf instead of setaf) which use different numbers, not given here.
tput bold # Select bold mode tput dim # Select dim (half-bright) mode tput smul # Enable underline mode tput rmul # Disable underline mode tput rev # Turn on reverse video mode tput smso # Enter standout (bold) mode tput rmso # Exit standout mode tput sgr 0 # Reset all attributes
tput cup Y X # Move cursor to screen position X,Y (top left is 0,0) tput cuf N # Move N characters forward (right) tput cub N # Move N characters back (left) tput cuu N # Move N lines up tput ll # Move to last line, first column (if no cup) tput sc # Save the cursor position tput rc # Restore the cursor position tput lines # Output the number of lines of the terminal tput cols # Output the number of columns of the terminal
tput ech N # Erase N characters tput clear # Clear screen and move the cursor to 0,0 tput el 1 # Clear to beginning of line tput el # clear to end of line tput ed # clear to end of screen tput ich N # Insert N characters (moves rest of line forward!) tput il N # Insert N lines
tput bel # play a bell
With compiz wobbly windows, the bel command makes the terminal wobble for a second to draw the user's attention.
echo "$(tput setaf 1)Red text $(tput setab 7)and white background$(tput sgr 0)"
Avoid temporary files by echoing a multi-line string and piping it:
echo -e "setf 7etb 1" | tput -S # set fg white and bg red
tput_examples has been written by Christian Walther. Send suggestions
and bug reports to wa2l@users.sourceforge.net .
This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.