AIX Tip of the Week

AIX Tip of the Week: Highlighting Output on ASCII Terminals

AIX Tip of the Week

Audience: AIX Administrators and End Users

Date: November 12, 1999

Highlighting text on computer terminals is useful for drawing attention to important information. To highlight text on ASCII terminals and telnet sessions, use the "tput" command. The types of highting available with "tput" includes blinking, bold, reverse, underline and screen clear.**.

The attached "today" script uses the "tput" command to highlight today's date in the output of the "cal" command, as illustrated below.

         July 1999          
Sun Mon Tue Wed Thu Fri Sat 
                 1   2   3  
 4   5   6   7   8   9  10  
11  12  13  14  15  16  17  
18  19  20  21  22  23  24  
25  26  27  28  29  30  31  

** Depends on the terminal's capability. Some ASCII terminals/emulators don't support all of the tput options. Refer to the "tput" and "terminfo" for more information.

# Script Name:  today
# v1.0 Calendar with today's date highlighted
# Bruce Spencer, IBM

# tput commands to control highlighting
# note: some terminals do not support all tput options
RVR=`tput smso`    	# reverse
END_RVR=`tput rmso`    	# end reverse
BLNK=`tput blink`	# blink
UNDER=`tput smul`    	# underline
END_UNDER=`tput rmul`  	# underline
CLEAR=`tput clear`	# clear screen
BELL=`tput bel`		# bell sound
BOLD=`tput bold`	# bold    
DIM=`tput dim`		# dim    
INVIS=`tput invis`	# invisible
END=`tput sgr0`		# turn off dim, blink, bold, dim, invisible

# Clear Screen
echo ${CLEAR}

# Convert month abbreviation to month number
set `date`
case ${2} in
Jan) MONTH=1;;
Feb) MONTH=2;;
Mar) MONTH=3;;
Apr) MONTH=4;;
May) MONTH=5;;
Jun) MONTH=6;;
Jul) MONTH=7;;
Aug) MONTH=8;;
Sep) MONTH=9;;
Oct) MONTH=10;;
Nov) MONTH=11;;
Dec) MONTH=12;;
*) MONTH=0;;

DAY=`echo ${3} | sed "s/^0//"`
cal $MONTH ${6} | sed "s/ ${DAY}/ ${RVR}${DAY}${END_RVR}/" 

# Examples of different formatting 
# echo "${UNDER}Underline: Happy Thanksgiving!${END_UNDER}"
# echo "${BOLD}Bold: Happy Thanksgiving!${END}"
# echo "${DIM}Dim: Happy Thanksgiving!${END}"
# echo "${BELL}BELL: Happy Thanksgiving!${END}"
# echo "${INVIS}Invisible: Happy Thanksgiving!${END}"
# echo "${BLINK}Blink: Happy Thanksgiving!${END}"