tput(1) tput(1)
NAME
tput - Terminal initialisieren oder Datenbank terminfo abfragen
SYNTAX
tput [-T typ] capname [parameter ...] Format 1
tput [-T typ] -S <<!
> capname [parameter]
...
> ! Format 2
tput [-T typ] init Format 3
tput [-T typ] reset Format 4
tput [-T typ] longname Format 5
BESCHREIBUNG
Mit tput können Sie
- eine Eigenschaft eines Terminals ausgeben (Format 1)
- mehrere Eigenschaften eines Terminals ausgeben (Format 2)
- ein Terminal initialisieren (Format 3)
- ein Terminal zurücksetzen (Format 4)
- den ausführlichen Namen eines Terminals ausgeben (Format 5).
OPTIONEN
Format 1: Eine Eigenschaft eines Terminals ausgeben
tput [-T typ] capname [parameter ...]
Jeweils eine Eigenschaft eines Terminals wird ausgegeben. Diese Eigen-
schaften sind in der Datenbank terminfo festgelegt [siehe
terminfo(4)].
-T typ
Für typ geben Sie den Typ des Terminals an, dessen Eigenschaften
Sie abfragen wollen. Wenn Sie die Option -T typ verwenden, bleibt
der Wert der Shell-Variablen LINES und COLUMNS unverändert, sowie
die Größe des Fensters, das mit dem Kommando layers erzeugt
wurde.
-T typ nicht angegeben:
Für typ wird der Wert der Umgebungsvariablen TERM eingesetzt.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
capname
(capability name) capname ist die Kurzbezeichnung einer Eigen-
schaft des Terminals, wie sie in der Quelldatei für terminfo
steht. Um ausgeben zu lassen, ob Ihr Terminal über eine bestimmte
Eigenschaft verfügt, müssen Sie die zugehörige Kurzbezeichnung
capname angeben [siehe terminfo(4)]. Je nach Typ der Eigenschaft
gibt tput folgendes aus:
- Eigenschaft vom Typ Boolscher Wert: tput liefert nur einen
Endestatus zurück und zwar 0 für wahr, wenn das Terminal die
entsprechende Eigenschaft hat, und 1 für falsch, wenn das Ter-
minal die Eigenschaft nicht hat.
In der Bourne- und in der Korn-Shell fragen Sie den Endestatus
mit echo $? ab.
- Eigenschaft vom Typ Zeichenkette: tput gibt die entsprechende
Zeichenkette aus.
- Eigenschaft vom Typ numerische Angabe: tput gibt eine ganze
Zahl aus.
Wenn der durch capname festgelegten Eigenschaft für den angegebe-
nen Terminaltyp in terminfo kein Wert zugewiesen ist, gibt tput
-1 aus.
parameter
Wenn die Eigenschaft capname eine Zeichenkette ist, die Parameter
benötigt, dann geben Sie diese als parameter an. capname und
parameter werden als zusammengesetzte Zeichenkette an tput über-
geben. Ein rein numerischer Parameter wird als Zahl übergeben.
Format 2: Mehrere Eigenschaften eines Terminals ausgeben
tput [-T typ] -S <<!
> capname [parameter]
...
> !
Mit diesem Aufruf von tput können mehrere Eigenschaften des aktuellen
Terminals ausgegeben werden. Sie übergeben die Eigenschaften nicht von
der Kommandozeile, sondern von der Standardeingabe (siehe Beispiel 4).
Es ist nur jeweils eine Eigenschaft des Terminals pro Zeile zulässig.
Wenn Sie mit der Option -T typ arbeiten, bleibt der Wert der Shell-
Variablen LINES und COLUMNS unverändert. Die Werte 0 und 1 als Ende-
status ändern sich (siehe Abschnitt FEHLERMELDUNGEN).
-T typ
Für typ geben Sie den Typ des Terminals an, dessen Eigenschaften
Sie abfragen wollen. Wenn Sie die Option -T typ verwenden, bleibt
der Wert der Shell-Variablen LINES und COLUMNS unverändert, sowie
die Größe des Fensters, das mit dem Kommando layers erzeugt wurde.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
-T typ nicht angegeben:
Für typ wird der Wert der Umgebungsvariablen TERM eingesetzt.
capname
(capability name) capname ist die Kurzbezeichnung einer Eigen-
schaft des Terminals, wie sie in der Quelldatei für terminfo
steht. Um ausgeben zu lassen, ob Ihr Terminal über eine bestimmte
Eigenschaft verfügt, müssen Sie die zugehörige Kurzbezeichnung
capname angeben [siehe terminfo(4)]. Je nach Typ der Eigenschaft
gibt tput folgendes aus:
- Eigenschaft vom Typ Boolscher Wert: tput liefert nur einen
Endestatus zurück und zwar 0 für wahr, wenn das Terminal die
entsprechende Eigenschaft hat, und 1 für falsch, wenn das Ter-
minal die Eigenschaft nicht hat. In der Bourne- und in der
Korn-Shell fragen Sie den Endestatus mit echo $? ab.
- Eigenschaft vom Typ Zeichenkette: tput gibt die entsprechende
Zeichenkette aus.
- Eigenschaft vom Typ numerische Angabe: tput gibt eine ganze
Zahl aus.
Wenn der durch capname festgelegten Eigenschaft für den angegebe-
nen Terminaltyp in terminfo kein Wert zugewiesen ist, gibt tput
-1 aus.
Hinweis:
Sie können sich die komplette Beschreibung eines Terminals mit
dem Befehl infocmp -I term ausgeben lassen [siehe infocmp(1M) und
term(4)]. Für term geben Sie den Namen Ihres Terminals an. Eine
Liste aller Namen für Terminals erhalten Sie mit
ls -C /usr/share/lib/terminfo/?.
parameter
Wenn die Eigenschaft capname eine Zeichenkette ist, die Parameter
benötigt, dann geben Sie diese als parameter an. capname und
parameter werden als zusammengesetzte Zeichenkette an tput über-
geben. Ein rein numerischer Parameter wird als Zahl übergeben.
Format 3: Terminal initialisieren
tput [-T typ] init
Wenn die Datenbank terminfo einen Eintrag für das aktuell benutzte
Terminal enthält, initialisiert tput diese entsprechend dem Typ, der
bei -T typ angegeben ist. Im einzelnen führt tput folgende Aktionen
durch:
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
- Die Zeichenketten für die Initialisierung des Terminals (capname
is1, is2, is3, if, ifprog) werden ausgegeben, sofern sie vorhanden
sind.
- Alle eingetragenen Verzögerungen (z. B. Neue-Zeile-Zeichen) werden
im Treiber für das Terminal eingestellt.
- Tabulatorzeichen werden je nach Eintrag unverändert ausgegeben oder
zu Leerzeichen expandiert.
- Falls Tabulatorzeichen unverändert ausgegeben werden, werden Stan-
dardtabulatorsprünge eingestellt (alle acht Zeichen).
Falls der terminfo-Eintrag die Informationen für eine dieser Aktionen
nicht enthält, entfällt diese Aktion ohne Fehlermeldung.
-T typ
Für typ geben Sie den Typ des Terminals an, mit dessen Eigen-
schaften Sie Ihr Terminal initialisieren wollen.
-T typ nicht angegeben:
Für typ wird der Wert der Umgebungsvariablen TERM eingesetzt.
Format 4: Terminal zurücksetzen
tput [-T typ] reset
Statt der Zeichenketten für die Initialisierung werden die Zeichenket-
ten für das Zurücksetzen des Terminals ausgegeben (capname rs1, rs2,
rs2, rf). Falls dafür keine Einträge vorhanden sind, jedoch für die
Initialisierung, werden die Zeichenketten für die Initialisierung aus-
gegeben. Ansonsten verhält sich reset wie init.
-T typ
Für typ geben Sie den Typ des Terminals an, mit dessen Eigen-
schaften Sie Ihr Terminal zurücksetzen wollen.
-T typ nicht angegeben:
Für typ wird der Wert der Umgebungsvariablen TERM eingesetzt.
Format 5: Ausführlichen Namen eines Terminals ausgeben
tput [-T typ] longname
Wenn die Datenbasis terminfo existiert und einen Eintrag für das
benutzte Terminal (vgl. Format 1, Option -T typ) enthält, wird die
ausführliche Bezeichnung des Terminals ausgegeben. Diese ausführliche
Bezeichnung ist der letzte Name in der ersten Zeile der Beschreibung
des Terminals in der Datenbank terminfo [siehe terminfo(4)].
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
ENDESTATUS
capname vom Typ Boolescher Wert und die Option -S nicht gesetzt:
0 wenn der angegebene Terminaltyp die Eigenschaft hat,
1 wenn der angegebene Terminaltyp die Eigenschaft nicht hat.
capname vom Typ Zeichenkette und die Option -S nicht gesetzt:
0 wenn die Eigenschaft capname für diesen Terminaltyp definiert ist.
1 wenn die Eigenschaft capname für diesen Terminaltyp nicht definiert
ist (auf die Standardausgabe wird nichts ausgegeben).
capname vom Typ Boolescher Wert oder Zeichenkette und Option -S:
0 wenn alle Zeilen erfolgreich abgearbeitet werden konnten.
1 Endestatus 1 kann niemals vorkommen, da nicht angegeben werden
kann, welche Zeile nicht abgearbeitet werden konnte.
capname vom Typ ganze Zahl:
0 Endestatus immer 0. Anhand der Standardausgabe kann entschieden
werden, ob capname für den angegebenen Terminaltyp definiert ist
oder nicht. Wird -1 auf die Standardausgabe ausgegeben, bedeutet
das, daß capname nicht definiert ist.
Fehlersituationen werden durch einen Endestatus >1 angezeigt:
2 Anwendungsfehler
3 Es gibt keine Information zu dem angegebenen Terminaltyp.
4 Eines der angegebenen Argumente ist ungültig.
>4 Ein anderer Fehler ist aufgetreten.
FEHLERMELDUNGEN
Je nach Endestatus gibt tput folgende Fehlermeldungen aus:
tput: unknown terminal type
Unbekannter Terminaltyp type oder keine terminfo-Datenbasis vorhanden,
Endestatus 3.
tput: unknown terminfo capability capname
Unbekannte Terminaleigenschaft capname, Endestatus 4.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
UMGEBUNGSVARIABLEN
TERM Standardwert für den Typ des Terminals, der eingesetzt wird,
wenn Sie die Option -T typ nicht angeben.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Beispiel 1
Bildschirm initialisieren
$ tput init
Eine Steuerzeichenfolge, die den Bildschirm initialisiert, wird an das
aktuelle Terminal geschickt. Es wird die Steuerzeichenfolge genommen,
die für den durch die Umgebungsvariable TERM festgelegten Terminaltyp
gilt.
Beispiel 2
Anzahl der Spalten des aktuellen Terminals ausgeben
$ tput cols
80
Beispiel 3
Ist das aktuelle Terminal ein Hardcopy-Terminal?
$ tput hc
$ echo $?
1
hc ist vom Typ Boolescher Wert, tput liefert daher nur einen Endesta-
tus zurück. Diesen Endestatus fragen Sie mit echo $? ab. Der Endesta-
tus ist 1, das aktuelle Terminal ist also kein Hardcopy-Terminal.
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
tput(1) tput(1)
Beispiel 4
Mehrere Eigenschaften des Terminals mit einem tput-Aufruf ausgeben
$ tput -S <<!
> clear
> cup 10 10
> bold
> !
Der Bildschirm wird gelöscht, die Schreibmarke auf Position 10,10
gebracht und verstärkte Darstellung eingeschaltet. Ein einzelnes Aus-
rufezeichen in einer eigenen Zeile beendet die Liste.
DATEIEN
/usr/share/lib/terminfo/?/*
Datenbank mit Binärversionen der Beschreibungen für die einzelnen
Terminaltypen.
/usr/include/curses.h
Header-Datei von curses(3X).
/usr/include/term.h
Header-Datei von terminfo(4).
/usr/lib/tabset/*
Information über die Behandlung von Tabulatorzeichen (siehe auch
terminfo(4), Abschnitt "Tabulatoren und Initialisierung").
SIEHE AUCH
clear(1), stty(1), tabs(1), infocmp(1M), profile(4), term(4),
terminfo(4), term(5), termnames(5).
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98