Kodlamanın Açıklaması
Önceki Parametreler Sonraki
Kodlamanın Açıklaması
Parametre gerektiren bir uçbirim komut dizgesi, bu parametrelerin nasıl kodlanacağının bir belirtimi olarak % karakteri ile başlayan özel karakter dizileri içerir. Bu diziler tparam ve tgoto işlevlerinin eylemlerini denetim altına almak için kullanılır.
tparam ve tgoto işlevlerine aktarılacak parametre değerlerinin bir vektör biçiminde olacağı varsayılır. Bu vektör içindeki bir gösterici işlenecek sonraki paremetreyi belirler. %'li dizilerin bazıları tek bir parametreyi kodlar ve göstericiyi sonraki parametreye ilerletir. Bazıları da çıktı üretmeksizin ya göstericiyi ya da parametre değerini değiştirir.
Örneğin, bir standart ANSI uçbiriminin cm dizgesi \E[%i%d;%dH biçiminde yazılır. (\E, <ESC>'e karşılıktır.) cm teamülen daima iki parametre gerektirir: düşey ve yatay konum; yani bu dizge iki parametrenin kodlanmasını gerektirir. Burada %i kendinden sonra gelen iki değeri 1 arttırır. %d'ler ise değerleri birer onluk sayı olarak kodlar. Eğer imleç konum değerleri 20,58 olacaksa bu dizge, sonucu \E[21;59H olacak şekilde kodlanmalıdır.
Öncelikle, bunlar çıktı üreten % dizileridir. %% dışında herbiri bir parametreyi kodlayıp göstericiyi sonraki parametreye ilerletir.
%%
Tek bir % çıktılar. Sadece % işaretini çıktılamak içindir. %% bir parametre olarak değerlendirilmez.
%d
printf işlevindeki gibi parametresini onluk sayı olarak çıktılar.
%2
printf işlevindeki %02d gibidir: parametresini onluk sayı olarak çıktılar ve daima an az iki rakam kullanır.
%3
printf işlevindeki %03d gibidir: parametresini onluk sayı olarak çıktılar ve daima an az üç rakam kullanır.
Not
%4 ve daha büyük diziler tanımlanmamıştır.
%.
Parametre değerini tek bir karakterin ASCII kodu olarak yorumlar ve karakteri çıktılar. printf işlevindeki %c gibidir.
%+karakter
Parametre değerini karakter karakterine ekleyerek sonucu çıktılar. Örneğin, `%+ ' ile 0 değeri boşluk, 1 değeri ! olarak çıktılanır.
Aşağıdaki % dizileri bir parametreyi çıktılamazlar parametrelerde (değer ya da sıralarında) değişikliğe sebep olurlar, yani sadece yan etkilerinden yararlanılır. Ayrıca gösterici konumunu açıkça belirtilmedikçe ilerletmezler. Standart Unix termcap'i sadece %i, %r ve %> dizilerini tanımlamıştır. Diğerleri GNU oluşumudur.
%i
Sonraki iki parametrenin değerlerini 1 arttırır. Bu imleç başlangıcını 0 değilde 1 kabul eden uçbirimlerde kullanılır. Örneğin, %i%d,%d iki parametreden 0 olanını 1, 1 olanını 2 olarak çıktılayacaktır.
%r
Sonraki iki parametrenin yerlerini değiştirir. İmlecin yeri belirtilirken yatay konumun önce belirtilmesi gereken uçbirimlerde yararlıdır.
%s
Sonraki parametrenin atlanmasını sağlar. Bir çıktı üretmez.
%b
Bir parametreyi yedekler. Bu parametre son parametre ise tekrar çıktılanacak son parametre haline gelecek ve sonraki çıktı komutu tarafından kullanılacaktır. %b'i birden fazla kullanarak çok sayıda parametreyi hatta bir parametreyi defalarca yedekleyebilirsiniz.
%>c1c2
Sonraki parametreyi koşullu arttırır. Burada c1 ve c2 ASCII kodları sayısal olarak verilmiş iki karakterdir. Eğer sonraki parametre c1'in ASCII kodundan büyükse, parametreye c2'nin ASCII kodu eklenir.
%a işleç tür konum
Kendinden sonraki parametreye bir aritmetik işlem uygular. Burada işleç aritmetik işlemin işleci, tür ve konum ise ikisi birlikte, işleme sokulacak "diğer terimi" belirtir. Herhangi bir çıktı üretilmez.
İfade içindeki boşluklar terimleri ayırmak içindir; bu boşluklar veritabanında görünmez, sadece 5 karakter uzunlukta bir dizi bulunur.
işleç karakteri uygulanacak aritmetik işlem çeşidini belirten bir işleçtir. Şu karakterlerden biri olmalıdır:
=
Sonraki parametreye "diğer terimi" atar, eski değer yoksayılır.
+
Sonraki parametreye "diğer terimi" ekler.
-
Sonraki parametreden "diğer terimi" çıkarır.
*
Sonraki parametre ile "diğer terimi" çarpar.
/
Sonraki parametreyi "diğer terime" böler.
"Diğer terim" bir sabit olabileceği gibi, başka bir parametre de olabilir; tür karakteri bunu belirtmek içindir. Şunlardan biri olabilir:
p
Başka bir parametre kullanılır. konum ile hangi parametrenin kullanılacağı belirtilir. konum karakterinin ASCII kodundan 64 çıkarıldığında kalan, "diğer terim" olarak kullanılacak parametrenin bu parametreye göre (göreli) konumunu vermelidir. konum olarak A karakteri verilmişse "diğer terim" olarak sonraki parametreden sonraki parametre kullanılır. Karakter ? ise sonraki parametreden önceki parametre kullanılır.
c
Değerin bir sabit olduğunu belirtir. konum karakteri ile sabitin değeri belirtilir. 0200 biti boştur, dolayısıyla 0200 sıfır için kullanılabilir.
Aşağıdaki % dizileri esrarengiz uçbirimlerin tuhaf tasarımlarına imkan vermek için kullanılan özel amaçlı dizilerdir. Genellikle sonraki bir ya da iki parametre üzerinde işlem yaparlar, başka parametre kullanmazlar ve bir çıktı üretmezler. %m bir GNU oluşumudur, diğerleri standart Unix termcap'ta tanımlıdır.
%n
Sonraki parametreye 0140 ile "ayrıcalıklı veya" uygular, ondan sonraki parametreye de aynısını yapar.
%m
Sonraki parametrenin bitlerinin eşleniğini alır, bunu sonraki parametreye de uygular.
%B
Sonraki parametreye BCD kodlaması uygular. Bu C deyimi yeni değerin nasıl hesaplandığını göstermektedir:
parm = (parm / 10) * 16 + parm % 10;
%D
Delta Data uçbirimlerin gerektirdiği dönüşümü sonraki parametreye uygular. Bu C deyimi yeni değerin nasıl hesaplandığını göstermektedir:
parm -= 2 * (parm % 16);
Önceki Üst Ana Başlık Sonraki
Parametreler Başlangıç Ekran Komutlarının Parametrelerle Gönderilmesi
Bir Linux Kitaplığı Sayfası