tput(1)




NAME

     tput - initialize a terminal or query terminfo database


SYNOPSIS

     tput [-T type] capname [parm...]

     tput -S <<


DESCRIPTION

     The tput utility uses the  terminfo  database  to  make  the
     values  of  terminal-dependent  capabilities and information
     available to the shell (see sh(1)); to clear, initialize  or
     reset  the  terminal;  or  to  return  the  long name of the
     requested terminal type. tput outputs a string if the  capa-
     bility  attribute (capname) is of type string, or an integer
     if the attribute is of type integer. If the attribute is  of
     type  boolean,  tput simply sets the exit status (0 for TRUE
     if the terminal has the capability, 1 for FALSE if  it  does
     not),  and produces no output. Before using a value returned
     on standard output, the user should  test  the  exit  status
     ($?, see sh(1)) to be sure it is 0. See the EXIT STATUS sec-
     tion.


OPTIONS

     The following options are supported:

     -Ttype
           Indicates the type of terminal. Normally  this  option
           is  unnecessary, because the default is taken from the
           environment variable TERM. If -T  is  specified,  then
           the  shell  variables  LINES and COLUMNS and the layer
           size will not be referenced.

     -S    Allows more than  one  capability  per  invocation  of
           tput. The capabilities must be passed to tput from the
           standard input instead of from the command  line  (see
           the example in the EXAMPLES section). Only one capname
           is allowed per line. The -S option changes the meaning
           of  the  0 and 1 boolean and string exit statuses (see
           the EXAMPLES section).


OPERANDS

     The following operands are supported:

     capname
           Indicates the capability attribute from  the  terminfo
           database. See terminfo(4) for a complete list of capa-
           bilities and the capname associated with each.

           The following strings will be supported as operands by
           the implementation in the "C" locale:

           clear Display the clear-screen sequence.

           init  If the terminfo database is present and an entry
                 for  the  user's  terminal  exists  (see -Ttype,
                 above), the following will occur:

                 1. if  present,  the  terminal's  initialization
                    strings  will  be  output (is1, is2, is3, if,
                    iprog),

                 2. any delays (for instance, newline)  specified
                    in the entry will be set in the tty driver,

                 3. tabs expansion  will  be  turned  on  or  off
                    according  to the specification in the entry,
                    and

                 4. if tabs are not expanded, standard tabs  will
                    be set (every 8 spaces). If an entry does not
                    contain the information needed for any of the
                    four  above  activities,  that  activity will
                    silently be skipped.

           reset Instead of putting out  initialization  strings,
                 the  terminal's  reset strings will be output if
                 present  (rs1,  rs2,  rs3,  rf).  If  the  reset
                 strings  are  not  present,  but  initialization
                 strings are, the initialization strings will  be
                 output.  Otherwise,  reset  acts  identically to
                 init.

           longname
                 If the terminfo database is present and an entry
                 for  the  user's  terminal  exists  (see  -Ttype
                 above), then the long name of the terminal  will
                 be  put  out.  The long name is the last name in
                 the first line of the terminal's description  in
                 the terminfo database (see term(5)).

     parm  If the attribute is a string  that  takes  parameters,
           the  argument  parm  will  be  instantiated  into  the
           string. An all numeric argument will be passed to  the
           attribute as a number.


EXAMPLES

     Example 1: Initializing the terminal according to TERM

     This example initializes the terminal according to the  type
     of  terminal  in the environment variable TERM. This command
     should  be  included  in  everyone's  .profile   after   the
     environment  variable TERM has been exported, as illustrated
     on the profile(4) manual page.

     example% tput init

     Example 2: Resetting a terminal

     This example resets an AT&T 5620  terminal,  overriding  the
     type of terminal in the environment variable TERM:

     example% tput -T5620 reset

     Example 3: Moving the cursor

     The following example sends the sequence to move the  cursor
     to  row  0,  column  0 (the upper left corner of the screen,
     usually known as the "home" cursor position).

     example% tput cup 0 0

     This next example sends the sequence to move the  cursor  to
     row 23, column 4.

     example% tput cup 23 4

     Example 4: Echoing the clear-screen sequence

     This example echos the clear-screen sequence for the current
     terminal.

     example% tput clear

     Example 5: Printing the number of columns

     This command prints the number of columns  for  the  current
     terminal.

     example% tput cols

     The following command prints the number of columns  for  the
     450 terminal.

     example% tput -T450 cols

     Example 6: Setting shell variables

     This example sets the shell variables bold, to begin  stand-
     out  mode  sequence,  and  offbold,  to  end  standout  mode
     sequence, for the current terminal. This might  be  followed
     by a prompt:

     echo "${bold}Please type in your name: ${offbold}\c"
     example% bold='tput smso'
     example% offbold='tput rmso'

     Example 7: Setting the exit status

     This example sets the exit status to indicate if the current
     terminal is a hardcopy terminal.

     example% tput hc

     Example 8: Printing the long name from terminfo

     This command prints the long name from the terminfo database
     for  the type of terminal specified in the environment vari-
     able TERM.

     example% tput longname

     Example 9: Processing several capabilities with one  invoca-
     tion

     This example shows tput processing several  capabilities  in
     one  invocation.  This  example clears the screen, moves the
     cursor to position 10, 10 and turns on bold  (extra  bright)
     mode. The list is terminated by an exclamation mark (!) on a
     line by itself.

     example% tput -S <<!
     > clear
     > cup 10 10
     > bold
     > !


ENVIRONMENT VARIABLES

     See environ(5) for descriptions of the following environment
     variables  that  affect the execution of tput: LANG, LC_ALL,
     LC_CTYPE, LC_MESSAGES, and NLSPATH.

     TERM  Determine the terminal type. If this variable is unset
           or  null,  and  if  the -T option is not specified, an
           unspecified default terminal type will be used.


EXIT STATUS

     The following exit values are returned:

     0

              o  If capname is of type  boolean  and  -S  is  not
                 specified, indicates TRUE.

              o  If capname is of  type  string  and  -S  is  not
                 specified, indicates capname is defined for this
                 terminal type.

              o  If capname is of type boolean or string  and  -S
                 is specified, indicates that all lines were suc-
                 cessful.

              o  capname is of type integer.

              o  The requested string was written successfully.

     1

              o  If capname is of type  boolean  and  -S  is  not
                 specified, indicates FALSE.

              o  If capname is of  type  string  and  -S  is  not
                 specified, indicates that capname is not defined
                 for this terminal type.

     2     Usage error.

     3     No information is available about the specified termi-
           nal type.

     4     The specified operand is invalid.

     >4    An error occurred.

     -1    capname is a numeric variable that is not specified in
           the  terminfo database. For instance, tput -T450 lines
           and tput -T2621 xmc.


FILES

     /usr/include/curses.h
           curses(3CURSES) header

     /usr/include/term.h
           terminfo header

     /usr/lib/tabset/*
           Tab settings for some terminals, in a format appropri-
           ate  to  be  output  to the terminal (escape sequences
           that set margins and tabs). For more information,  see
           the "Tabs and Initialization" section of terminfo(4)

     /usr/share/lib/terminfo/?/*
           compiled terminal description database


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|


SEE ALSO

     clear(1), sh(1),  stty(1),  tabs(1),  curses(3CURSES),  pro-
     file(4),   terminfo(4),   attributes(5),  environ(5),  stan-
     dards(5), term(5)


Man(1) output converted with man2html