1.\" $NetBSD: tput.1,v 1.16 2012/04/21 12:27:30 roy Exp $ 2.\" 3.\" Copyright (c) 1989, 1990, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. Neither the name of the University nor the names of its contributors 15.\" may be used to endorse or promote products derived from this software 16.\" without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.\" @(#)tput.1 8.2 (Berkeley) 3/19/94 31.\" 32.Dd April 5, 2012 33.Dt TPUT 1 34.Os 35.Sh NAME 36.Nm tput , 37.Nm clear 38.Nd terminal capability interface 39.Sh SYNOPSIS 40.Nm 41.Op Fl T Ar term 42.Ar attribute 43.Op Ar attribute-args 44.Ar ... 45.Sh DESCRIPTION 46.Nm 47makes terminal-dependent information available to users or shell 48applications. 49The options are as follows: 50.Bl -tag -width Ds 51.It Fl T 52The terminal name as specified in the 53.Xr terminfo 5 54database, for example, 55.Dq vt100 56or 57.Dq xterm . 58If not specified, 59.Nm 60retrieves the 61.Dq Ev TERM 62variable from the environment. 63.El 64.Pp 65.Nm 66outputs a string if the 67.Ar attribute 68is of type string; a number if it is of type integer. 69Otherwise, 70.Nm 71exits 0 if the terminal has the capability and 1 if it does not, 72without further action. 73.Pp 74If the 75.Ar attribute 76is of type string, and takes arguments (e.g. cursor movement, 77the terminfo 78.Dq cup 79sequence) the arguments are taken from the command line immediately 80following the attribute. 81.Pp 82The following special attributes are available: 83.Bl -tag -width Ar 84.It clear 85Clear the screen (the 86.Xr terminfo 5 87.Dq cl 88sequence). 89.It init 90Initialize the terminal (the 91.Xr terminfo 5 92.Dq is2 93sequence). 94.It longname 95Print the descriptive name of the user's terminal type. 96.It reset 97Reset the terminal (the 98.Xr terminfo 5 99.Dq rs1 , rs2 , rs3 100and 101.Dq rf 102sequence). 103.El 104.Sh EXIT STATUS 105The exit status of 106.Nm 107is based on the last attribute specified. 108If the attribute is of type string or of type integer, 109.Nm 110exits 0 if the attribute is defined for this terminal type and 1 111if it is not. 112If the attribute is of type boolean, 113.Nm 114exits 0 if the terminal has this attribute, and 1 if it does not. 115.Nm 116exits 2 if any error occurred. 117.Sh EXAMPLES 118.Bl -tag -width "tput cm 6 11 DC 6" -compact 119.It Li "tput cl cm 5 10" 120clear the screen and goto line 5 column 10 121.Pp 122.It Li "tput cm 6 11 DC 6" 123goto line 6 column 11 and delete 6 characters 124.El 125.Sh SEE ALSO 126.Xr termcap 3 , 127.Xr terminfo 3 , 128.Xr terminfo 5 129.Sh HISTORY 130The 131.Nm 132command appears in 133.Bx 4.4 . 134.Sh BUGS 135.Nm 136can't really distinguish between different types of attributes. 137.Pp 138Not all terminfo entries contain the reset sequence, so using the init 139sequence may be more useful. 140