tput(1)

NÉV
tput - inicializál (beállít) egy terminált vagy lekérdezi a terminfo-t adatbázist

ÁTTEKINTÉS
tput [-Ttípus] képleír [paraméterek ... ]
tput [-Ttípus] init
tput [-Ttípus] reset
tput [-Ttípus] teljesnév
tput -S <<

LEÍRÁS
A tput segédprogram a terminfo-t (terminál adatbázis) használja arra, hogy az egyes terminálfüggő informácókat elérhetővé tegye a shell (ld. sh(1)) számára a terminál beállításához. Képes továbbá visszaadni a kért terminál típus teljes nevét. A tput output-jaként egy karakterláncot ad vissza ha a kért jellemző (képesség leíró) string típusú vagy egy egész értéket ha az egész szám jellegű. Ha a kért jellemző logikai típusú, akkor a tput egyszerűen beállítja a visszatérési értéket (0-IGAZ ha a terminál rendelkezik a szóban forgó képességgel, 1-HAMIS ha nem) és nem generál kimenő adatot. A felhasználó mielőtt használná a szabványos kimeneten visszakapott értéket, ellenőrizni kell a kilépési értékét [$?, ld. sh(1)], hogy az 0-e. (ld. ILÉPÉSI ÉRTÉK és DIAGNOSZTIKA részek). A képességek és a hozzájuk rendelt capname-ek teljes listáját ld.: terminfo(5).

-Ttípus
    a terminál típusát jelzi. Rendes körülmények között ez az opció szükségtelen, mert az alapértelmezett érték a TERM környezeti változóban található. Ha a -T meg van adva, akkor a LINES és COLUMNS shell változók nem lesznek figyelembe véve és nem kerül lekérdezésre az aktuális képernyőméret az operációs rendszertől.

képleíró
    a terminfo adatbázisból kért jellemző neve.

paraméterek
    Ha a tulajdonság string típusú, ami paramétereket igényel, akkor a paraméterek argumentum átadásra kerül a string-nek. Minden numerikus argumentum mint szám kerül átadásra.

-S  lehetővé teszi egynél több jellemző lekérését egy meghívás során. A jellemzők ekkor a szabványos bemenetről jönnek és nem a parancssorból (ld. példa). Egy sorban csak egy képleíró engedélyezett. Az -S opció megváltoztatja a kilépési értékek jelentését (ld. KILÉPÉSI ÉRTÉKEK rész).

init
    Ha a terminfo adatbázis létezik és van a felhsználó termináljához tartozó bejegyzés (ld. -TtípusR, fent), akkor a következő történik: (1) a terminál inicializáló string-je (ha van ilyen) lesz az output (is1, is2, is3, if, iprog), (2) egyéb a bejegyzésben meghatározott késedelem (pl. új sor) a tty meghajtóban lesz beállítva, (3) a tabulátor beállítások az adatbázis bejegyzésnek megfelelően kerülnek ki- vagy bekapcsolásra és (4) ha nincsenek tabulátor beállítások, akkor az alapértelmezett tabulátorpozíciók kerülnek beállításra (minden 8. karakterpozíció). Ha a bejegyzés nem tartakmaz információt a fenti tevékenységek valamelyikéhez, akkor a tevékenység nem hajtódik végre.

reset
    az inicializáló string kiadása helyett a terminál reset-stringje kerül a kimenetre (rs1, rs2, rs3, rf) ha az létezik. Ha reset-string nincs, de inicializáló van, akkor az kerül a kimenetre. Egyébként a reset azonos az init-tel.

teljesnév
    Ha a terminfo adatbázis létezik és van a felhasználó termináljának megfelelő bejegyzés (ld. -Ttípus, fent), akkor a terminál neve fog megjelenni. A név az utolsó név a terminfo adatbázis terminált leíró első sorbában [ld. term(5)].

PÉLDÁK

tput init
    Inicializálja a terminált a TERM környezeti változóban lévő termináltípusnak megfelelően. Ez a sor nem árt ha szerepel a felhasználó ahogy az a profile(4) oldalon olvasható.

tput -T5620 reset
    alapállapotba hoz egy AT&T 5620-as terminált és felülírja a terminál típusát a TERM változóban.

tput cup 0 0
    egy olyan szekvenciát küld a terminálnak, amely 0. sor 0. oszlopába (a képernyő bal felső sarka, általában "home" pozíciónak nevezik) viszi a kurzort.

tput clear
    egy képernyőtörlés szekvenciát küld a terminálnak.

tput cols
    kiírja az aktuális terminál oszlopainak számát.

tput -T450 cols
    Kiírja a 450-es terminál oszlopainak számát.

tput bold=`tput smso` offbold=`tput rmso`
    a bold shell változóba a terminálnak megfelelő "kiemelt-mód" kezdete karaktersorozatot, az offbold shell változóba a "kiemelt-mód" vége szekvenciát teszi. Ezt esetleg követheti egy prompt: echo "${bold} Kérem írja be a nevét: ${offbold}\c"

tput hc
    az kilépési kód jelzi, hogy a terminál hardcopy terminál-e

tput cup 23 4
    egy olyan szekvenciát küld a terminálnak, ami a kurzort 23. sor, 4. pozíciójába mozgatja.

tput longname
    a TERM környezeti változóban specifikált terminál típushoz tartozó teljes nevet írja ki a terminfo adatbázis bejegyzéséből.

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

    Ez egy példa arra, hogy hogyan lehet több műveletet elvégezni egy hívással. A példa letörli a képernyőt, a 10. sor 10. pozíciójába viszi a kurzort és bekapcsolja a félkövér (kiemelt fényesség) módot. A felsorolást a külön sorba írt felkiáltójel (!) zárja.

FÁJLOK

/usr/share/terminfo
    lefordított terminál leíró adatbázis

/usr/include/curses.h
    ncurses(3NCURSES) header fájl

/usr/include/term.h
    terminfo header fájl

/usr/share/tabset/*
    tabulátorbeállítások a terminálokhoz olyan formátumban, hogy az megfeleljen a terminálon való megjelenítésnek (escape szekvenciák, amelyek beállítják a margókat és a tabulátorpozíciókat); részletesen a "Tabulátorok és Inicializálás" terminfo(4) részében.

LÁSD MÉG
clear(1), stty(1), tabs(5). profile(5), terminfo(4) Rendszer Adminisztrátorok kézikönyvében. A Programozók Segédlet-ének 10. fejezetében.

VISSZATÉRÉSI ÉRTÉK (EXIT CODE)
Ha a capname logikai típusú, akkor az érték 0 TRUE esetén és 1 FALSE esetén kivéve, ha a az -S opció be van kapcsolva.

Ha a capname karakterlánc típusú, akkor 0 jelzi, hogy ez a képesség definiálva van ennél a terminál típusnál (az értéke a szabványos kimeneten jelenik meg); 1 jelzi, hogy ez a képesség nincs definiálva ennél a terminál típusnál (a szabványos kimeneten 0 jelenik meg).

Ha a capname logikai vagy karakteres típusú és a -S opciót használjuk, akkor 0 jelzi, hogy minden sor sikeres volt. Nem jelzi, hogy melyik sor végrehajtása volt sikertelen, így az 1-es érték sohasem jelenik meg, a 2, 3 és 4 kódok jelentése a szokásos.

Ha a capname egész típusú, akkor az érték mindig 0 akár definiálva van az adott képesség akár nem. A felhasználó úgy tudhatja ezt meg, hogy ellenőrzi a szabványos kimenetet. A -1 azt jelzi, hogy a jellemző nincs definiálva az adott terminál típushoz.

Bármely más érték valamilyen hibát jelez; lásd a HIBÁK részt.

DIAGNOSZTIKÁK
A tput a követkző hibaüzeneteket és hozzájuk tartozó kilépési értékeket adja.

kilépési érték hibaüzenet
0 (a capname egy egész érték, ami nincs meghatározva ehhez a
terminálhoz a terminfo(5) adatbázisban, pl.
tput -T450 lines és tput -T2621 xmc)
1 nem ír ki hibaüzenetet, ld. KILÉPÉSI ÉRTÉK-ok rész.
2 használati hiba
3R ismeretlen terminál típus, vagy nincs terminfo adatbázis.
4 ismeretlen terminfo képességnév

ÁTJÁRHATÓSÁG
A longname és -S opciókat valamint a cup példánál használt paraméterezési lehetőségeket a BSD és az AT&T/USD SVr4 előtti verziói nem támogatják.

MAGYAR FORDÍTÁS
Szalay Attila <sasa@sophia.jpte.hu>