Bunun aksine bash, sshparola istemi gibi hiçbir özel terminal giriş kütüphanesi kullanmaz readline. Çizgi düzenleme özellikleri, yalnızca temel POSIX TTY çizgi düzenleme özellikleridir.
Yani "pişmiş" modda (ham değil), kanonik modda bir POSIX TTY'niz var ve kullanılabilir olan tek satır düzenleme çekirdek tarafından sağlananlar. Bakın stty(1)ve bunu fark edin
kill = ^U. Bu aynı zamanda geri alma karakterinin tanımlandığı yerdir ( erase = ^?). Kelime silme ( ^W), kör yazmadığınızda kullanışlıdır.
lnext = ^V kontrol kelimesini almak için kontrol-v yazdıktan sonra herhangi bir şey (kontrol-c dahil) yazabilirsiniz.
Kör olarak yapmaya çalıştığınız şeyi hata ayıklamak için, koşun catveya cat > /dev/nullterminalinizde . Stuff yazın, sonra neyin işe yarayıp neyin düzenlemediğini görün.
readline(tarafından kullanılır bash) ham karakteri okur ve kullanıcı alanında satır düzenlemesini yapar. Varsayılan ciltlemeleri, her ikisinin de sağladığı düzenleme özellikleri alt kümesi için varsayılan TTY kontrol karakterleriyle uyumludur.
readline, basit bir TTY'nin basit satır düzenlemesinin ötesine geçiyor. (örneğin, bir TTY yalnızca satırın sonundaki karakterleri silebilir, bu nedenle hiçbir ^ave deletesol / sağ ok yoktur)
Ne zaman bashön planda bir komutu çalıştırır (varsayılan çünkü), ilk kurallı moduna TTY'yi koyar. Böylece çalışan stty -a(yönlendirme olmadan) her zaman kanonik modda kendi terminalini görecektir. Ancak, girişi bashüzerinde çalışan bazı TTY'lerden girişi yönlendirirseniz , hangi terminal ayarlarının bash + readline uygulandığını görebilirsiniz. Örneğin ham modu stty -a < /dev/pts/12gösterir -icanonçünkü basho terminalde bir çalışma var. (Başka bir sekmeye geçtim ve koştum tty, ardından ilk terminalden bu aygıt dosyası yolunu kullandım). Koştum Eğer catbu diğer terminalde, ben görmek istiyorum icanonkanonik modu için.
İlgili: TTY parçalanmış
https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html
https://en.wikipedia.org/wiki/POSIX_terminal_interface