Terminali ham moda getirdiğimde beklenmeyen girinti davranışı - bu neden oluyor?


27

Okuduklarım temelinde, bir terminal ham moddayken, karakterler terminal sürücüsü tarafından işlenmez, ancak doğrudan gönderilir.

Komutu kullanarak terminali ham moda ayarlıyorum ve stty rawçıktının sağa hiç girene kadar sağa girdiğini fark ettim. Demek istediğim bu:

görüntü tanımını buraya girin

Bu davranış neden oluyor?

Yanıtlar:


45

sttyAyarlardan biri ( onlcr) terminal sürücüsüne newline (aslında ASCII satır beslemesidir) satırbaşını artı satır beslemesine dönüştürmesini söyler .

Unix benzeri sistemler sadece yazma satırsonu terminali sürücü doğru olanı (dönüştürme yapmasına izin, uç hatlarına yeni satır satır başında artı satır atlatmaya).

Satır başı-geri dönüş "sola gider" ve satır besleme "iner".

Terminali ham moda getirdiğinizde, newline artık satır başı artı satır beslemesine dönüştürülmeyecek. Satır iadelerinden yoksun olursun, o merdiven efektini alırsın .


ve derinlemesine bir görünüm için, gerçekten iyi bir yazı olan @ stéphane-chazelas'a bir göz atabilirsiniz: unix.stackexchange.com/questions/151916/… , ki bu da terminal dönüşümleri (ve yan etkileri) hakkında birçok interresting olayı gösterir. . Özetle: etkileşimli komutları kullanmak için yalnızca "ssh -t" komutunu kullanın, ancak komut dosyalarınızda komutun oluşturduğu tam şeyi elde etmek istiyorsanız sadece ssh kullanın (ör: ssh'nin bir tarafında oluşturulan ve üzerinde okunan / yazılan tar dosyaları diğer taraf: "-t" eklemeyin, yoksa (... olur mu?) ikili dosyalarınızı karıştırır)
Olivier Dulac
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.