In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
, tput is a standard
Unix operating system command which makes use of
terminal capabilities In computing and telecommunications, the capabilities of a terminal are various terminal features, above and beyond what is available from a pure teletypewriter, that host systems (and the programs that run on them) can make use of. They are (mainl ...
.
Depending on the system, ''tput'' uses the
terminfo
Terminfo is a library and database that enables programs to use display terminals in a device-independent manner. Mary Ann Horton implemented the first terminfo library in 1981–1982 as an improvement over termcap. The improvements include
* fast ...
or
termcap
Termcap (''terminal capability'') is a software library and database used on Unix-like computers. It enables programs to use display computer terminals in a device-independent manner, which greatly simplifies the process of writing portable text ...
database, as well as looking into the
environment
Environment most often refers to:
__NOTOC__
* Natural environment, all living and non-living things occurring naturally
* Biophysical environment, the physical and biological factors along with their chemical interactions that affect an organism or ...
for the terminal type.
History
''Tput'' was provided in
UNIX System V
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
in the early 1980s. A clone of the
AT&T
AT&T Inc. is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the world's largest telecommunications company by revenue and the third largest provider of mobile tel ...
''tput'' was submitted to volume 7 of the mod.sources newsgroup (later comp.sources.unix) in September 1986. In contrast to the System V program, the clone used termcap rather than terminfo. It accepted command-line parameters for the
cm
(cursor addressing) capability, and recognized terminfo capability names.
System V Release 3 provided an improved version which combined the different initialization capabilities as a new option
init
, and the reset capabilities as
reset
, thereby simplifying use of ''tput'' for initializing or reinitializing the terminal. System V Release 3.2 added several printer-specific capabilities to the terminfo database, such as
swidm
(enter_doublewide_mode) which ''tput'' could use. It also added capabilities for color.
System V Release 4 defined additional terminfo capabilities including standardized
ANSI color
ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an ASCII escape charac ...
capabilities
setaf
and
setab
, which could be used by ''tput''.
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
platforms provided a different implementation of ''tput'' in 4.3BSD-Reno (June 1990). It used termcap, recognizing only termcap capability names, and did not accept command-line parameters for cursor-addressing.
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
used this in 1994, improving it by accepting one or two numeric command-line parameters.
Ross Ridge's mytinfo package in 1992
provided a ''tput'' which accepted either termcap or terminfo capability names. Like the Reno implementation, it did not pass command-line arguments to parameterized capabilities.
ncurses
ncurses (new curses) is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" ...
incorporated the mytinfo code in June 1995. The initial version added a
-S
option, and interpreted command-line parameters as described in the
System V Release 4 documentation.
Portability
The
Open Group
The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...
defines one option (
-T
, to specify the terminal type) and three keywords (
init
,
clear
and
reset
).
Most implementations accept the name of a terminal capability together with any parameters that may be needed for that.
However, some implementations expect a
termcap
Termcap (''terminal capability'') is a software library and database used on Unix-like computers. It enables programs to use display computer terminals in a device-independent manner, which greatly simplifies the process of writing portable text ...
name, while others expect a
terminfo
Terminfo is a library and database that enables programs to use display terminals in a device-independent manner. Mary Ann Horton implemented the first terminfo library in 1981–1982 as an improvement over termcap. The improvements include
* fast ...
name.
All
System V Release 4 implementations, as well as those which are designed to be compatible, also recognize a
-S
option (to tell ''tput'' to read data from the standard input), and an additional keyword
longname
. They also accept command-line parameters, usually distinguishing numeric from string parameters by the form of the parameter, checking for all-numeric characters. That makes it impossible for example to set a function-key label to a string of digits. Using a different approach, ncurses determines the expected type of the parameters with a table of the terminfo capabilities which use string parameters, eliminating the ambiguity.
See also
*
List of Unix commands
This is a list of Unix commands as specified by IEEE Std 1003.1-2008, which is part of the Single UNIX Specification (SUS). These commands can be found on Unix operating systems and most Unix-like operating systems.
List
See also
* List of G ...
References
Further reading
*
External links
Manual pages
*
*
''tput(1)'' manual page for ncurses*
*
SGI*
Tutorials
*
ttp://www.ibm.com/developerworks/aix/library/au-learningtput/?S_TACT=105AGY06& ''Discover tput'' on IBM DeveloperWorks
{{Unix commands
Unix SUS2008 utilities
Text mode