Tarih hakkında birkaç not STTYDiğer cevap ve ilgili yorumlardaki bazı yanlışlıkları açıklığa kavuşturmak komutla :
DEC VT05 gibi daha önceki terminaller veya VT50 ve bu yalnızca desteklenen büyük harf karakterden önce tele yazıcılar. Bunun anlamı, onlardan hiçbir küçük harf girilememesi veya büyük harflerden başka bir harf görüntüleyememesidir.
Unix büyük / küçük harfe duyarlıdır ve çoğu komut küçük harflidir, orada bir sorun olduğunu görebilirsiniz. Bu nedenle, bunları idare etmek için özel termio / termios modları vardır (ve bu terminaller çoktan gitmiş olsa bile hala modern Unices'te bulunmaktadır).
termio / termios, Unix'te tty sürücüsünü kontrol etmek için sırasıyla daha eski ve daha yeni arayüzlerdir. Bir terim (ler) deioctl , bir seri hattaki elektrik sinyallerinin giriş ve çıkış karakterlerine nasıl işleneceğini ve yankı gibi sürücünün dahili davranışını belirten giriş, çıkış, kontrol bayrakları ... hat editörü ... Bunların çoğu modern Unix VGA konsolları veya sözde terminaller gibi sanal terminaller için geçerlidir.
Komut hattı arabirimi termio(s)olanstty komut.
Büyük harfli terminalleri işlemek için üç termio(s)bayrak bulunur:
IUCLC(Büyük Harf Küçük Harfe Gir): Gelen karakterler girdiğinde küçük harfe dönüştürülür. Bu Aterminal tarafından gönderilen bir olarak kabul edilir anlamına gelir a. Bu, bununla birlikte, şimdi LSVT50'ime yazabileceğim ve kabuğun okuyacağı anlamına lsgeliyor /dev/ttyX. Şimdi sttykomutu da çalıştırabilirim .
- Şimdi,
IUCLCtek başına ve terminal ile echo, ben yazarken LS, sürücü lsgösteremediği terminale (ne yazdığımı görebiliyorum) geri gönderecek , bu yüzden de ihtiyacımız varOLCUC (Küçük Harfe Büyük Harfe Çıkar), yani terminale göndermeden önce küçük harfleri büyük harfe dönüştürmeliyiz.
- Şimdi Unix'i bir VT50'den çalıştırabiliriz, ama şimdi büyük harfli karakterler girmek istiyorsak? Bu,
xcase yerel bayrağın devreye girdiği yerdir . Bu, (yalnızca standart giriş modunda) Ayazarak bir büyük harf gönderilmesine izin verir \Ave çıktıda bir büyük harf Aolarak oluşturulur \A. (Linux'ta uygulanmayan)
sttyKomut tekabül vardır iuclc, olcucve xcaseayarları ve üçü için bir takma ad: lcase. Peşinde olsun varsayılan ayar ve hangi stty saneolduğulcase kapalı.
Yani, bir VT50'deyken, yapmanız gereken tek şey çalıştırmak:
stty lcase
her şeyi yapabilmek. Ama bekleyin, bunu sadece büyük harf gönderebildiğinizde nasıl yaparsınız? Burası STTYiçin takma ad olarak bir komuta ihtiyacınız sttyvar ve bu yüzden takma ad olarak sttydestekleniyor .LCASElcase
Böyle bir SANEtakma ad yoktur, çünkü stty saneterminaliniz büyük harf olduğunda yapmak istemezsiniz .
Normal bir terminalde (yanlışlıkla veya herhangi bir modern terminalde) çalıştırıyorsanız stty lcaseveya stty olcucyanlışlıkla çalıştırıyorsanız , normale dönmek için xtermgirmeniz gereken yer burasıdır stty sane. Ama bunun için bir STTYkomuta ihtiyacınız yok . Yazdığınızda stty sane, yankılanmış görürsünüz , ancak bu yalnızca çevrilecekSTTY SANE olan görüntülenen metindir (girilen komut değil), yine stty sanede çalıştırılacak komuttur.
Bunlar iuclc, olcuc, xcasebayraklar POSIX tarafından belirtilmesi için kullanılan (ve Linux üzerinde uygulanan neden ciddiye Aranızda hiç) eğlence için daha (başka bir Linux sistemine o eski terminal herhangi bağlanan şüphe dahi bu muhtemelen), ancak kaldırılmıştır POSIX: 2001.