man pages section 1: User Commands

Exit Print View

Updated: July 2014

tput (1g)


tput - base


tput [-Ttype] capname [parms ... ]
tput [-Ttype] init
tput [-Ttype] reset
tput [-Ttype] longname
tput -S  <<
tput -V


User Commands                                             tput(1)

     tput,  reset - initialize a terminal or query terminfo data-

     tput [-Ttype] capname [parms ... ]
     tput [-Ttype] init
     tput [-Ttype] reset
     tput [-Ttype] longname
     tput -S  <<
     tput -V

     The tput utility uses the terminfo database to make the val-
     ues   of  terminal-dependent  capabilities  and  information
     available to the shell (see sh(1)), to initialize  or  reset
     the  terminal, or return the long name of the requested ter-
     minal type.  The result depends upon the capability's type:

               tput writes the string to the standard output.  No
               trailing newline is supplied.

               tput writes the decimal value to the standard out-
               put, with a trailing newline.

               tput simply sets the exit code (0 for TRUE if  the
               terminal  has  the  capability,  1 for FALSE if it
               does not), and writes nothing to the standard out-

     Before  using  a  value returned on the standard output, the
     application should test the exit code (e.g., $?, see  sh(1))
     to  be  sure  it  is 0.  (See the EXIT CODES and DIAGNOSTICS
     sections.)  For a complete list of capabilities and the cap-
     name associated with each, see terminfo(5).

          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   will   be
          ignored,and  the  operating  system will not be queried
          for the actual screen size.

          indicates the capability from  the  terminfo  database.
          When  termcap  support is compiled in, the termcap name
          for the capability is also accepted.

SunOS 5.11                Last change:                          1

User Commands                                             tput(1)

          If the capability is a string  that  takes  parameters,
          the  arguments  parms  will  be  instantiated  into the

          Most parameters are numbers.  Only a few terminfo capa-
          bilities  require  string parameters; tput uses a table
          to decide which to pass as strings.  Normally tput uses
          tparm  (3X) to perform the substitution.  If no parame-
          ters are given for  the  capability,  tput  writes  the
          string without performing the substitution.

     -S   allows more than one capability per invocation of tput.
          The capabilities must be passed to tput from the  stan-
          dard  input instead of from the command line (see exam-
          ple).  Only one capname is allowed per  line.   The  -S
          option  changes  the meaning of the 0 and 1 boolean and
          string exit codes (see the EXIT CODES section).

          Again, tput uses a table and the presence of parameters
          in  its  input to decide whether to use tparm (3X), and
          how to interpret the parameters.

     -V   reports the version of ncurses which was used  in  this
          program, and exits.

     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 as detailed in the terminfo(5) sec-
               tion on Tabs and Initialization,

          (2)  any  delays (e.g., 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.

          Instead of putting out initialization strings, the ter-
          minal'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

SunOS 5.11                Last change:                          2

User Commands                                             tput(1)

          strings will be output.  Otherwise, reset acts  identi-
          cally to init.

          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  termi-
          nal's   description   in  the  terminfo  database  [see

     If tput is invoked by a link named reset, this has the  same
     effect  as  tput  reset.  See tset for comparison, which has
     similar behavior.

     tput init
          Initialize the terminal according to the type of termi-
          nal  in  the environmental variable TERM.  This command
          should be included in  everyone's  .profile  after  the
          environmental  variable  TERM  has  been  exported,  as
          illustrated on the profile(5) manual page.

     tput -T5620 reset
          Reset an AT&T 5620 terminal,  overriding  the  type  of
          terminal in the environmental variable TERM.

     tput cup 0 0
          Send 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).

     tput clear
          Echo  the  clear-screen sequence for the current termi-

     tput cols
          Print the number of columns for the current terminal.

     tput -T450 cols
          Print the number of columns for the 450 terminal.

     bold=`tput smso` offbold=`@TPUT@ rmso`
          Set 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: ${off-

     tput hc
          Set exit code to indicate if the current terminal is  a
          hard copy terminal.

SunOS 5.11                Last change:                          3

User Commands                                             tput(1)

     tput cup 23 4
          Send  the sequence to move the cursor to row 23, column

     tput cup
          Send the terminfo string for cursor-movement,  with  no
          parameters substituted.

     tput longname
          Print  the long name from the terminfo database for the
          type of terminal specified in the  environmental  vari-
          able TERM.

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

          This example shows tput processing several capabilities
          in one invocation.  It 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.

          compiled terminal description database

          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(5)

     If the -S option is used, tput checks for errors  from  each
     line, and if any errors are found, will set the exit code to
     4 plus the number of lines with errors.  If  no  errors  are
     found,  the  exit  code  is  0.  No indication of which line
     failed can be given so exit code 1 will never appear.   Exit
     codes 2, 3, and 4 retain their usual interpretation.  If the
     -S option is not used, the exit code depends on the type  of

               a value of 0 is set for TRUE and 1 for FALSE.

               a  value of 0 is set if the capname is defined for
               this  terminal  type  (the  value  of  capname  is
               returned  on standard output); a value of 1 is set

SunOS 5.11                Last change:                          4

User Commands                                             tput(1)

               if capname is not defined for this  terminal  type
               (nothing is written to standard output).

               a value of 0 is always set, whether or not capname
               is defined for this terminal type.   To  determine
               if  capname is defined for this terminal type, the
               user must test the value written to standard  out-
               put.   A  value  of  -1  means that capname is not
               defined for this terminal type.

               reset or init may fail to  find  their  respective
               files.   In that case, the exit code is set to 4 +

     Any other exit code indicates an error; see the  DIAGNOSTICS

     tput prints the following error messages and sets the corre-
     sponding exit codes.

     exit code   error message
     0           (capname is a numeric variable that is not specified  in
                 the  terminfo(5)  database  for this terminal type, e.g.
                 tput -T450 lines and @TPUT@ -T2621 xmc)
     1           no error message is printed, see the EXIT CODES section.
     2           usage error
     3           unknown terminal type or no terminfo database
     4           unknown terminfo capability capname
     >4          error occurred in -S

     The longname and -S options, and the  parameter-substitution
     features  used  in the cup example, are not supported in BSD
     curses or in AT&T/USL curses before SVr4.

     X/Open documents only  the  operands  for  clear,  init  and
     reset.  In this implementation, clear is part of the capname
     support.  Other implementations of tput on  SVr4-based  sys-
     tems such as Solaris, IRIX64 and HPUX as well as others such
     as AIX and Tru64 provide support for  capname  operands.   A
     few  platforms  such as FreeBSD and NetBSD recognize termcap
     names rather than terminfo capability names in their respec-
     tive tput commands.

     See   attributes(5)   for   descriptions  of  the  following

SunOS 5.11                Last change:                          5

User Commands                                             tput(1)


     |Availability   | library/ncurses  |
     |Stability      | Uncommitted      |
     clear(1), stty(1), tabs(1), terminfo(5).

     This describes ncurses version 5.7 (patch 20081102).

     This  software  was   built   from   source   available   at    The  original
     community       source       was       downloaded       from

     Further  information about this software can be found on the
     open source community  website  at

SunOS 5.11                Last change:                          6