tput

A Wikipédiából, a szabad enciklopédiából

A tput egy standard Unix operációs rendszeri parancs, mely inicializál (beállít) egy terminált vagy lekérdezi a terminfo-t adatbázist.

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 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 standard output-on visszakapott értéket, ellenõrizni kell a kilépési értékét [$?, ld. sh(1)], hogy az 0-e. A képességek és a hozzájuk rendelt capname-ek teljes listáját terminfo(\*n) adja.

Használata[szerkesztés | forrásszöveg szerkesztése]

A parancs általános alakjai:

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

  • -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 standard input-ró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.

  • init

Ha a terminfo adatbázis létezik és van a felhsználó termináljához tartozó bejegyzés, 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, 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.

Példák[szerkesztés | forrásszöveg szerkesztése]

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ó .pRofile állományában azután, hogy a TERM változó exportálásra került, 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}\"

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.