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 <<
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)].
- 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.
- /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.
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.
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.
Szalay Attila <sasa@sophia.jpte.hu>