.

” wildcard’slar ”
Aslında biz bunlara genel olarak ( karakterler ) diyoruz.
Fakat wildcardlar, karakterlere oranla serviceslerde veya IRCd’de daha çok anlam ifade veya iÅŸlev görüyor.
İlk önce size standart bir IRCd’de kullanabileceÄŸiniz karakterleri göstereyim;
{
}
\
[
`
|
_
^
0
1
2
3
4
.
Yukarıda ki işaretlerin her biri, bir karakter değerindedir. Yani karakterler sadece harfleri kapsamaz..
Bir nick uzunluğu karakterlerle belirtilir ve karakterler sadece nick için kullanılır.
Ön bilgi:
1 karakter = ?
4 karakter = ????
Yani;
1 karakterli nick: ( ? )
2 karakterli nick: ( ?? )
4 karakterli nick: ( ???? )
wildcard’ın en önemli özelliklerinden birisi budur.
Bir diÄŸeri ise, joker olarak kabul ettiÄŸimiz ve her yerde kullanabildiÄŸimiz ( * ) .
HerÅŸey demek oluyor. Sonsuzluk anlam ifade ediyor.
( ? ) bu wildcard ile, ( * ) bu wildcard birleÅŸtirilebilir mi?
Evet.
Fakat bunu istediğimiz gibi yapabilmemiz için öncelikle mantığını anlamamız lazım.
Örn:
Nickname: Software
Software nick’i toplamda 8 karaktertir.
1. karakteri: ( K harfi )
2. karakteri: ( e harfi )
3. karakteri: ( M harfi )
4. karakteri: ( a harfi )
5. karakteri: ( N harfi )
6. karakteri: ( c harfi )
7. karakteri: ( I harfi )
Yani bunu wildcard ile ifade edecek olursak;
KeMaNcI = ???????
Az çok hepiniz ( who ) komutlarını biliyorsunuz.
Mesela, 8 karakterli nick: ????????
Bunu diyebiliyoruz. Ama kanal için, temel anlamda 8 karakterli diyebiliriz. Kısacası nicklere bir karakter sayısı deyip, ? bu şekilde gösterebiliriz
fakat kanallara 7 karakterli deyip, ? bu şekilde gösteremeyiz.
Soru iÅŸaretlerinin (? – karakterler) kullanım yerleri..
Nick ile ilgili herÅŸeyde soru iÅŸaretleri kullanılabilir. Sadece yetki verilen noktalarda ” ? ” iÅŸaretleri kullanılamaz.
Örneğin: /cs access #kanaladı add ??? 50
Bu şekilde kullanamayız. Kullanabilseydik, 3 karaktere sahip olan nickler kayıtlı olsun, ya da olmasın kanala girdiklerinde op olurlardı.
Kullanım yerleri – ÅŸekilleri:
/who *
/chanserv *
/nickserv *
/memoserv *
Normalde bir oper yetkisine sahip olabilseydiniz bunu şöyle yapabilirdik;
/who ????!*@*
Identd’i ve hostu ne olursa olsun, Networkde bulunan 4 karakterli nicklerin hepsini listele emri verir.
Fakat biz bunu kanal için deneyerek görelim.
Ancak öncesinde ek bilgi vereyim.
*!*@* = 1. ( * ): nick | – ! – bundan sonra ki yıldız identd. | -@- bundan sonra ki yıldız host’u temsil ediyor.
Yani nick’in bittiÄŸini ! bu iÅŸaretten, identd’in bittiÄŸini ise @ bu iÅŸaretten anlıyoruz.
Şimdi karakterlere bağlı kalarak wildcarda örnek verelim.
????!*@* = Nick’i 4 karakterli olsunda, ident’i ve hostu önemli deÄŸil. HerÅŸey olabilir.
/who #eÄŸitim ????!*@*
Bu komutu enterlayıp statuse bakın.
Nick’i 4 karakterli olan userleri gösterir.
Åžimdi buna ilk önce ident’den sonra host’dan kısıtlama getirelim.
????!helper@* = Nick’i hem 4 karakterli olsun, hemde ident’i ” helper ” olsun. Hostu önemli deÄŸil.
/who #eÄŸitim ????!helper@*
Enterlayıp, statuse bakın.
Nick’i hem 4 karakterli olup hemde identleri helper olan userleri listeleyecektir.
Şimdi bir kaç örnek daha vericem fakat öncelikle ön bilgiler vermem lazım.

5 karakterli nick: ?????
En az 5 karakterli nick olmak üzere, daha fazla nickler: ?????*
En az 3 karakterli nick olmak üzere, daha fazla nickler: ???*
Bunun tersinin hiçbir anlamı yoktur.
Mesela, *? = Bir anlam ifade etmiyor. 30 karaktere kadar olan nicklerin hepsini listeler.
Şimdi biraz karakterlerle örnekleme yapalım.
/who #eÄŸitim ?????*!*@*
5 karakterli ve daha uzun karakterde ki nickleri listeler.
Yani baÅŸka bir deÄŸiyiÅŸle, 5 karakterin altında ki hiçbir nick’i listelemez.
*n = Nick uzunluÄŸu ne kadar, kaç karakter olursa olsun son harfi ” n ” olan nickleri listeler.
/who #eÄŸitim *n!*@*
Listelenen nicklere bakabilirsiniz.
Son harfi ( n ) olan bütün kullanıcıları listeler.
n* = Nick uzunluÄŸu ne kadar, kaç karakter olursa olsun ilk harfi ” n ” olan userleri listeler.
Aranan şart: ilk harfi N olması gerekmektedir.
Bütük veya küçük harf farketmez.
/who #eÄŸitim n*!*@*
Şimdi biraz daha karışık duruma getirelim.
*n* = Nick uzunluÄŸu ne olursa olsun, içerisinde ” n ” harfi olan bütün kullanıcıları listeler. ( Tabi belirtilen kanal için geçerli. )
/who #eÄŸitim *n*!*@*
BaÅŸharfi felan farketmiyor.
Yeter ki içerisinde ( n ) harfi olsun.

h*o = Nick karakter uzunluÄŸu ne olursa olsun, ilk harfi ” h ” ve son harfi ” o ” olan nickleri listeler.
/who #eÄŸitim h*o!*@*

l*v*a = Nick uzunluÄŸu kaç karakter olursa olsun, ilk harfi ” l ” ve son harfi ” a ” olmalıdır. Fakat bir de içerisinde, ” v ” harfi bulundurmalıdır.
Yalnız burada ki içerisinde kelimesi, baş harfi veya son harfi olarak algılanmamalıdır.
Çünkü bir baş harfi ve son harfi belirtilmiş.
/who #eÄŸitim l*v*a!*@*

?*_*? = İlk ve son harfi ne olursa olsun, nick uzunluğu kaç karakter olursa olsun içerisinde ( _ ) karakterini bulunduran kullanıcıları listeler.
/who #eÄŸitim ?*_*?!*@*

??x?? = Toplam 5 karakterli bir nick’in 3. harfinin x olması ÅŸartı aranır. Ancak bu özelliÄŸe sahip kiÅŸileri listeler.
/who #eÄŸitim ??x??!*@*

?s?k = Toplam 4 karakterli olup, 2. harfi ” s ” ve 4. yani son harfi ” k ” olan nickleri ifade eder.
/who #eÄŸitim ?s?k!*@*
Bunların hepsi ident içinde geçerlidir.

örn : Nick uzunluÄŸu ne olursa olsun, 2. harfi ” c ” olan. 4 karakterli Ident’e sahip ve 3. harfi ” x ” olan. İçerisinde ” mircbul ” yazısı olan hostlu kullanıcıları nasıl listelerim.
İlk önce sırası ile bakalım.
Nick için istenenler:
2. harfi c olsun demiÅŸ
?c*
? 1. karakteri bu işaret ile atlayıp ikinci karaktere geliyoruz.
2. karakter yerine istenen karakteri yani ” c ” harfini koyuyoruz.
Nick uzunluğu kaç karakter oloursa olsun dediği içinde sonunda bir tane * ekliyoruz.
Sonuç olarak: ( ?c* ) Çıkıyor
İkinci seçenekde ise,
4 karakterli ident demiÅŸ ve 3. harfi x olsun demiÅŸ
İlk önce 4 karakterli nick yapalım.
????
Buradan 3. soru işaretine gelelim ve onu silerek x yapalım
??x?
4 karakter deyip bir sınır belirttiği için ( * ) koymuyoruz. Çünkü bir şart var.
3. seçeneğe gelelim
Hostunun içerisinde mircbul yazan demiş.
İçerisinde dediği için bir uzunluk sınırı şartı konulmamış demek oluyor.
Yani kaç karakter olursa olsun yeterki içerisinde ( mircbul ) yazsın diyor.
Bunun içinse şunu yapıyoruz.
*mircbul*
Şimdi bunları birleştirelim.
nick!ident@host
Nick: ?c*
Ident: ??x?
Host: *mircbul*
Sonuç olarak;
?c*!??x?@*mircbul*
Şimdide bunu komuta uygulayalım
/who #eÄŸitim ?c*!??x?@*mircbul

Comments Yorum Yok »