Yaparsan:
stty eol =
Ve sonra önerilen demo çalıştırmak EDIT'e , göreceksiniz foo bar baskısına test.out . Terminalin hat disiplini, girişinizdeki her özel char ok karakterini okurken çıktısını okuyucusuna aktaracaktır .
Bir Linux kanonik-mod terminali - ile stty icanonveya muhtemelen sadece stty sane- yapılandırılabildiği gibi aşağıdaki özel giriş karakterlerini işler ...
- eof
- varsayılan:
^D
- Bir giriş hattını sonlandırır ve okuyucunun çıkışını temizler. Girdiden kaldırıldığından, bir satırdaki tek karakter olarak girildiyse , okuyucuya boş bir okuma - veya dosyanın sonu - geçirilir .
- eol
- varsayılan: atanmamış
- Ayrıca bir giriş satırını sonlandırır, ancak girişden kaldırılmaz.
- öldürmek
- varsayılan:
^U
- Tüm tamponlanmış girişi siler.
- silme
- varsayılan:
^H (veya muhtemelen @veya ^?bazı sistemlerde)
- Tamponlu son giriş karakterini siler.
Ne zaman IEXTEN da ayarlanır - benzeri stty icanon iextenveya yine muhtemelen sadece stty sanebir kanonik Linux terminali de idare edecek ...
- EOL2
- varsayılan: atanmamış
- Ayrıca , aynı zamanda , bir giriş hattı sona erdirir, ve aynı zamanda giriş kaldırılmaz.
- WERASE
- varsayılan:
^W
- Tamponlu son giriş kelimesini siler .
- rprnt
- varsayılan:
^R
- Tüm arabelleğe alınmış girişi yeniden yazdırır.
- bit LNEXT
- varsayılan:
^V
- Satır disiplininin hemen takip eden giriş karakteriyle ilgili olduğu her türlü özel önemi kaldırır.
Bu karakterler giriş akımından çıkarılarak - eol ve eol2 hariç - ve işlenmiş akışı okuyucuya aktarmadan önce ilgili özel işlevi yerine getirerek ele alınır - bu genellikle sizin kabuğunuzdur, ancak ön plan işlem grubu ne olursa olsun .
Benzer işlenir ancak herhangi bir bağımsız yapılandırılabilir Diğer özel giriş karakterler ICANON ayarı dahil isig set - gibi set stty isigbir ve muhtemelen de dahil aklı başında yapılandırması:
- çıkmak
- varsayılan:
^\
- Tüm tamponlanmış girişi temizler ( noflsh ayarlanmadıysa) ve SIGQUIT'i ön plan işlem grubuna gönderir - büyük olasılıkla bir çekirdek dökümü oluşturur.
- susp
- varsayılan:
^Z
- Tüm tamponlanmış girişi temizler ( noflsh ayarlanmadıysa) ve SIGTSTP'yi ön plan işlem grubuna gönderir. Süspansiyon işlem grubu muhtemelen herhangi biri ile devam edilebilir
kill -CONT "$!"veya fgbir bölgesindeki ( set -m) iş kontrollü kabuk.
- geçişsiz
- varsayılan:
^C
- Tüm tamponlanmış girişi temizler ( noflsh ayarlanmadıysa) ve SIGINT'i ön plan işlem grubuna gönderir.
Ve ixon set - benzer bir yapıya sahip stty ixonve aynı zamanda bir aklı başında config de var:
- durdurmak
- varsayılan:
^S
- Ya kadar okuyucuya tüm çıkışını durdurur başlangıç girişi okumak veya - zaman ixany da ayarlanır - en az bir adet daha fazla karakter okunur.
- başla
- varsayılan:
^Q
- Daha önce birlikte durduysa Yeniden Hizmete çıkış durağı .
- Hem durdurma hem de başlatma işlemi işlendiğinde girişten kaldırılır, ancak ixany ayarlandığında girilen herhangi bir karakter nedeniyle çıkış yeniden başlatılırsa , o karakter kaldırılmaz.
Diğer Linux dışı sistemlerde işlenen özel karakterler şunları içerebilir ...
- floş
- varsayılan:
^O
- Tamponlu girişin atılmasını ve temizlenmesini değiştirir ve girişten kaldırılır.
- DSUSP
- varsayılan: atanmamış
- Arabelleğe alınan tüm girdileri yalnızca okuyucu atanan özel giriş karakterini okuduğunda temizler ve ardından SIGTSTP gönderir.
Ve muhtemelen ...
- swtch
- varsayılan
^@ (anlam \0veya NUL)
- Ön plan kabuk katmanlarını değiştirir. İle kullanım için
shl kabuk tabakalar bazı sistemlerde uygulaması.
- Bir uygulama
shlmultiplexes PTY bu ve iş kontrolü yerine orijinal uygulanması en ile de uyumludur olan swtch bağımlı davranış serbestçe bulunabilmektedir heirloom-toolchestaracı paketi.
Bu giriş fonksiyonlarının nasıl ve niçin (ve belki de niçin olmasın) daha net bir resmi için danışın man 3 termios.
Yukarıdaki fonksiyonların tümü, uygun olduğunda - benzeri şekilde atanabilir (veya yeniden atanabilir)sttyfunction assigned-key . Herhangi bir tek işlevi devre dışı bırakmak için yapın . Alternatif olarak, yukarıda bahsedilen çizgi düzenleme işlevlerinden herhangi biri için yapılan tüm GNU, AST veya yadigarı uygulamaları için yapılan çeşitli girişimlerden anlaşılacağı gibi, herhangi bir işleve NUL ataması olarak, linux'uma atanmamış olarak ayarlamaya eşit gibi görünebilir. sistemi.sttyfunction^-sttysttyfunction^@
Muhtemelen bunları yazarken bu karakterlerin bir yankılanmasını görüyorsunuz (muhtemelen w / [-] ctlecho ile yapılandırılabilir ) , ancak bu yalnızca yaptığınız yeri gösterecek bir işaretçidir - girişinizi alan program sizin hiçbir fikriniz yok onları daktilo (hariç EOL [2] olduğunu,) ve çizgi disiplin bunların etkilerini başvuruda bulunduğu için giriş yalnızca bir kopyasını alır.
Terminalin çeşitli çizgi düzenleme işlevlerini kullanmasının bir sonucu, belirtmesi gereken işlevleri yerine getirmek için girdiyi bir dereceye kadar tamponlaması gerekmesi gerektiğidir - ve bu nedenle sınırsız bir giriş kaynağı olamaz. İstediğin zaman öldürebilirsin . Çizgi tampon daha kesin olduğunu öldürme tampon.
Ayarlarsanız eol veya EOL2 ne bir satır veya bir dönüş karakteri, örneğin olsa bile - - o zaman sadece mümkün olacak girişinde meydana bazı sınırlayıcı karakterleri öldürmek son gerçekleştiği noktaya kadar ve öldürmek tampon girişte , bunların sonuna kadar uzayacaktır - veya yeni bir satır (veya icrnl ayarlanmış ve igncr ayarlanmamışsa döndür ) -.