Özet
tput [-T tür] capname [parametre ...]
tput [-T tür] init
tput [-T tür] reset
tput [-T tür] longname
tput -S
tput -V
Açıklama
tput aracı, terminale bağlı özelliklerin (capabilities) ve bilgilerin değerlerini kabuğun kullanımına sunmak, terminali başlatmak veya sıfırlamak ya da istenen terminal türünün uzun adını döndürmek için terminfo veritabanını kullanır. Sonuç, özelliğin türüne bağlıdır:
string:tputdizeyi standart çıktıya yazar. Sonuna yeni satır karakteri eklenmez.integer:tputondalık değeri standart çıktıya yazar ve sonuna yeni satır karakteri ekler.boolean:tputyalnızca çıkış kodunu ayarlar. Terminal bu özelliğe sahipse doğru için0, sahip değilse yanlış için1döndürür ve standart çıktıya hiçbir şey yazmaz.
Uygulama, standart çıktıda döndürülen bir değeri kullanmadan önce çıkış kodunu test etmelidir; örneğin $? için sh(1) sayfasına bakın. Özelliklerin tam listesi ve her biriyle ilişkili capname için terminfo(5) kılavuzuna bakın.
Seçenekler ve İşlenenler
-T tür: Terminal türünü belirtir. Normalde bu seçenek gerekli değildir, çünkü varsayılan değerTERMortam değişkeninden alınır.-TbelirtilirseLINESveCOLUMNSkabuk değişkenleri de yoksayılır.capname:terminfoveritabanındaki özelliği belirtir.termcapdesteği derlendiğinde özellik içintermcapadı da kabul edilir.parametre: Özellik parametre alan bir dize ise, bu argümanlar dize içine yerleştirilir. Parametrelerin çoğu sayıdır. Yalnızca birkaçterminfoözelliği dize parametreleri gerektirir;tputhangilerinin dize olarak aktarılacağına karar vermek için bir tablo kullanır. Normaldetput, yer değiştirme işlemini yapmak içintparm(3X)kullanır. Özellik için hiç parametre verilmezse dizeyi yer değiştirme yapmadan yazar.-S: Tek birtputçağrısında birden fazla özelliğin işlenmesine izin verir. Özellikler komut satırı yerine standart girdidentputaracına aktarılmalıdır. Her satırda yalnızca bircapnamebulunabilir.-Sseçeneği,0ve1olan boolean ve dize çıkış kodlarının anlamını değiştirir.-V: Bu programda kullanılanncursessürümünü bildirir ve çıkar.init:terminfoveritabanı mevcutsa ve kullanıcının terminali için bir girdi varsa terminal başlatılır. Terminalin başlatma dizeleri varsa çıktı olarak verilir, girdide belirtilen gecikmeler tty sürücüsünde ayarlanır, sekme genişletme girdideki belirtimlere göre etkinleştirilir veya devre dışı bırakılır, sekmeler genişletilmiyorsa standart sekmeler her 8 boşlukta bir ayarlanır. Girdi bu eylemlerden biri için gerekli bilgileri içermiyorsa o eylem sessizce atlanır.reset: Başlatma dizeleri yerine terminalin sıfırlama dizeleri (rs1,rs2,rs3,rf) çıktı olarak verilir. Sıfırlama dizeleri yoksa ancak başlatma dizeleri varsa başlatma dizeleri kullanılır. Aksi takdirdereset,initile aynı şekilde çalışır.longname:terminfoveritabanı mevcutsa ve kullanıcının terminali için bir girdi varsa terminalin uzun adını çıktı olarak verir. Uzun ad,terminfoveritabanındaki terminal tanımının ilk satırındaki son addır;term(5)sayfasına bakın.
tput, reset adında bir bağlantı ile çağrılırsa tput reset ile aynı etkiye sahip olur. Benzer davranış için tset(1) sayfasına bakın.
Örnekler
Terminali TERM ortam değişkenindeki terminal türüne göre başlatır:
tput init
TERM ortam değişkenindeki terminal türünü geçersiz kılarak bir AT&T 5620 terminalini sıfırlar:
tput -T5620 reset
İmleci 0. satıra, 0. sütuna taşımak için gereken diziyi gönderir:
tput cup 0 0
Geçerli terminal için ekran temizleme dizisini yazar:
tput clear
Geçerli terminalin sütun sayısını yazdırır:
tput cols
450 terminalinin sütun sayısını yazdırır:
tput -T450 cols
Dikkat çekme modunu başlatmak ve bitirmek için kabuk değişkenleri ayarlar:
bold=$(tput smso)
offbold=$(tput rmso)
echo "${bold}Please type in your name: ${offbold}"
Geçerli terminalin basılı kopya (hard copy) terminali olup olmadığını belirtmek için çıkış kodunu ayarlar:
tput hc
İmleci 23. satıra, 4. sütuna taşımak için gereken diziyi gönderir:
tput cup 23 4
Hiçbir parametre yer değiştirmeden imleç hareketi için olan terminfo dizesini gönderir:
tput cup
TERM ortam değişkeninde belirtilen terminal türü için terminfo veritabanındaki uzun adı yazdırır:
tput longname
Tek bir çağrıda birkaç özelliği işler:
tput -S <<!
clear
cup 10 10
bold
!
Bu son örnek ekranı temizler, imleci 10, 10 konumuna taşır ve kalın modu açar. Liste, kendi başına bir satırda bulunan ünlem işareti (!) ile sonlandırılır.
Dosyalar
/usr/share/terminfo: Derlenmiş terminal tanımlama veritabanı./usr/share/tabset/*: Bazı terminaller için terminale çıktı verilmeye uygun biçimdeki sekme ayarları. Kenar boşluklarını ve sekmeleri ayarlayan kaçış dizileri hakkında daha fazla bilgi içinterminfo(5)kılavuzunun "Sekmeler ve Başlatma" bölümüne bakın.
Çıkış Kodları
-S seçeneği kullanılırsa tput, her satırdaki hataları kontrol eder. Hata bulunursa çıkış kodunu 4 + hatalı satır sayısı olarak ayarlar. Hata bulunmazsa çıkış kodu 0 olur. Hangi satırın başarısız olduğuna dair bilgi verilmez; bu nedenle çıkış kodu 1 asla görünmez. Çıkış kodları 2, 3 ve 4 olağan anlamlarını korur.
-S seçeneği kullanılmazsa çıkış kodu capname türüne bağlıdır:
boolean: Doğru için0, yanlış için1döndürülür.string:capnamebu terminal türü için tanımlanmışsa0döndürülür ve değer standart çıktıya yazılır. Tanımlanmamışsa1döndürülür ve standart çıktıya hiçbir şey yazılmaz.integer:capnamebu terminal türü için tanımlanmış olsun ya da olmasın her zaman0döndürülür.capnamedeğerinin tanımlanıp tanımlanmadığını belirlemek için standart çıktıya yazılan değer test edilmelidir.-1,capnamedeğerinin bu terminal türü için tanımlanmadığı anlamına gelir.other:resetveyainitilgili dosyaları bulmada başarısız olabilir. Bu durumda çıkış kodu4 + errnoolarak ayarlanır.
Diğer tüm çıkış kodları bir hataya işaret eder.
Tanılama
tput aşağıdaki hata mesajlarını yazdırır ve ilgili çıkış kodlarını ayarlar:
0:capname, bu terminal türü içinterminfo(5)veritabanında belirtilmemiş sayısal bir değişkendir; örneğintput -T450 linesveyatput -T2621 xmc.1: Hata mesajı yazdırılmaz; çıkış kodları bölümüne bakın.2: Kullanım hatası.3: Bilinmeyen terminal türü veyaterminfoveritabanı yok.4: Bilinmeyenterminfoözelliğicapname.>4:-Siçinde hata oluştu.
Taşınabilirlik
longname ve -S seçenekleri ile cup örneğinde kullanılan parametre yer değiştirme özellikleri, BSD curses veya SVr4 öncesindeki AT&T/USL curses sürümlerinde desteklenmez.
X/Open yalnızca clear, init ve reset işlenenlerini belgeler. Bu gerçekleme, clear özelliğini capname desteğinin bir parçası olarak sunar. Solaris, IRIX64 ve HPUX gibi SVr4 tabanlı sistemlerin yanı sıra AIX ve Tru64 gibi diğer sistemlerdeki tput gerçeklemeleri de capname işlenenleri için destek sağlar.
FreeBSD ve NetBSD gibi bazı platformlar, ilgili tput komutlarında terminfo özellik adları yerine termcap adlarını tanır.
capname işlenenleri için destek sağlayan çoğu gerçekleme, içindeki parametreleri genişletmek için tparm işlevini kullanır. Bu işlev, tput aracının hangi türü kullanacağını bilmesini gerektiren sayısal ve dize parametrelerinin bir karışımını bekler. Bu gerçekleme, standart capname işlenenleri için bunu belirlemek üzere bir tablo, standart dışı capname işlenenlerini analiz etmek için ise dahili bir kütüphane işlevi kullanır. Diğer gerçeklemeler, yalnızca rakam içeren bir işlenenin sayı olmasının amaçlandığını tahmin edebilir.
Ayrıca Bakınız
clear(1), stty(1), tabs(1), curs_termcap(3X), terminfo(5)
Bu belge ncurses sürüm 5.7'yi, yama 20081102, açıklamaktadır.
tput(1)