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, ...
, tput is a standard
Unix operating system command which makes use of
terminal capabilities.
Depending on the system, ''tput'' uses the
terminfo or
termcap 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
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 ...
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 capabilities
setaf
and
setab
, which could be used by ''tput''.
BSD 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-li ...
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 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 name, while others expect a
terminfo 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