man/text
man · Metin İşleme

$ reset

Bölüm 1 · Metin İşleme

terminali başlatır veya `terminfo` veritabanını sorgular

Ö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: tput dizeyi standart çıktıya yazar. Sonuna yeni satır karakteri eklenmez.

  • integer: tput ondalık değeri standart çıktıya yazar ve sonuna yeni satır karakteri ekler.

  • boolean: tput yalnızca çıkış kodunu ayarlar. Terminal bu özelliğe sahipse doğru için 0, sahip değilse yanlış için 1 dö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ğer TERM ortam değişkeninden alınır. -T belirtilirse LINES ve COLUMNS kabuk değişkenleri de yoksayılır.

  • capname: terminfo veritabanındaki özelliği belirtir. termcap desteği derlendiğinde özellik için termcap adı 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; tput hangilerinin dize olarak aktarılacağına karar vermek için bir tablo kullanır. Normalde tput, yer değiştirme işlemini yapmak için tparm(3X) kullanır. Özellik için hiç parametre verilmezse dizeyi yer değiştirme yapmadan yazar.

  • -S: Tek bir tput çağrısında birden fazla özelliğin işlenmesine izin verir. Özellikler komut satırı yerine standart girdiden tput aracına aktarılmalıdır. Her satırda yalnızca bir capname bulunabilir. -S seçeneği, 0 ve 1 olan boolean ve dize çıkış kodlarının anlamını değiştirir.

  • -V: Bu programda kullanılan ncurses sürümünü bildirir ve çıkar.

  • init: terminfo veritabanı 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 takdirde reset, init ile aynı şekilde çalışır.

  • longname: terminfo veritabanı mevcutsa ve kullanıcının terminali için bir girdi varsa terminalin uzun adını çıktı olarak verir. Uzun ad, terminfo veritabanı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çin terminfo(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çin 0, yanlış için 1 döndürülür.

  • string: capname bu terminal türü için tanımlanmışsa 0 döndürülür ve değer standart çıktıya yazılır. Tanımlanmamışsa 1 döndürülür ve standart çıktıya hiçbir şey yazılmaz.

  • integer: capname bu terminal türü için tanımlanmış olsun ya da olmasın her zaman 0 döndürülür. capname değerinin tanımlanıp tanımlanmadığını belirlemek için standart çıktıya yazılan değer test edilmelidir. -1, capname değerinin bu terminal türü için tanımlanmadığı anlamına gelir.

  • other: reset veya init ilgili dosyaları bulmada başarısız olabilir. Bu durumda çıkış kodu 4 + errno olarak 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çin terminfo(5) veritabanında belirtilmemiş sayısal bir değişkendir; örneğin tput -T450 lines veya tput -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ü veya terminfo veritabanı yok.

  • 4: Bilinmeyen terminfo özelliği capname.

  • >4: -S iç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)