Girişteki tek karakterleri okuduğum bir bash komut dosyası yazıyorum. read -n 1 -s
'u kullanarak yapıyorum. -n 1
sadece tek bir karakteri okumak içindir; -s
, yazılan karakterlerin görünmeyeceği "sessiz" moddur.Yazılan karakterlerin görüntülenmesini engelle (termolarda "echo" özelliğini devre dışı bırakma gibi)
Sorun şu ki, çalıştırılan komut read
(bash betiğindeki diğer bazı komutlar yürütüldüğünde) yapılmadığında, karakter terminalde görüntülenir.
Terminaldeki bir programın normal davranışı budur. Bunu devre dışı bırakmak için, normalde echo modunu, örneğin termios kütüphanesini kullanarak devre dışı bırakır.
Bunu bir bash komut dosyasında nasıl yapabilirim?
Saf bash/Unix komutlarında (python, perl vb. Başka betik dilleri olmadan) çözümleri tercih ederim.
Evet. Bu hızlı oldu :) Teşekkürler! (12 dakikada kabul edebilirim.) – leemes