Yanıtlar:
~/.inputrc
Dosyanızı düzenleyin (veya oluşturun) . Bir çizgi ekleyerek
set echo-control-characters Off
Bu, GNU Readline kütüphanesine (Bash'in kullandığı) ekrana herhangi bir kontrol karakterinin çıkmaması (echo) talimatını verir. Bu ayar bundan sonra tüm yeni Bash oturumlarında etkin olacaktır (ve Readline kütüphanesini kullanan herhangi bir yardımcı programda).
O Bildirimi eğer Unix sistem (genellikle Readline kütüphanesi için bir sistem genelinde yapılandırma dosyası ile gelir /etc/inputrc
), ardından kişisel yapılandırma dosyası bu dosyayı dahil etmek gerekir:
$include /etc/inputrc
set echo-control-characters Off
Diğer bir alternatif, sistem genelinde yapılandırma dosyasının kişisel bir kopyasını çıkarmak ve sonra bunu değiştirmektir.
sleep 180
ve CTRL + C
~/.inputrc
zaten o yok sadece dosyası oluşturma bazı mevcut ayarları kaybedebilirsiniz. Benim durumumda ilk önce ctrl + left ve ctrl + right'in çalışmayı bıraktığını fark ettim. Düzeltme benim ~/.inputrc
bu çizgiyle başlamaktı $include /etc/inputrc
. cp /etc/inputrc .inputrc
İstediğiniz gibi adil ve düzenlemek de mümkündür .
Takip etmeyi dene:
stty -echoctl
Bir açıklama için Stéphane Chazelas'tan bu harika ve ayrıntılı yazıya bakınız. , diğer bazı stty
özellikleri de açıklayan .
Eğer bu değişikliği kalıcı kılmak istiyorsanız (ve sorunuzda belirtildiği şekilde kullanıyorsunuz ), yorumlarda jlmg tarafından belirtildiği gibi bash
koymak en iyisidir (bu nedenle tüm etkileşimli mermiler için geçerlidir)..bashrc
.bash_profile
bu dosya sadece oturum açma kabukları tarafından ayrıştırıldığında , tüm terminallerde çalışmayacağından bahsetmelidir . Bunun .bashrc
yerine konulmalıdır , bu nedenle tüm etkileşimli çağrılar tarafından okunur.
^[[A
stty -echo
. Tabii ki, diğer her şeyin yankılanmasını da önleyecektir, ki eğer tek istediğin şeyi saklamak olsaydı, muhtemelen bu cevabı hayırlı kılar ^C
.
^C
zaman sonunda olsaydı, sana katılabilirim . Ancak, ^C
imlecin bulunduğu yerde, komutun herhangi bir yerinde bulunan bir çift karakterin üzerine yazılabilir. Bu, o komutun parçalarını kopyala yapıştırmanız gerekirse, karışık bir şeyle sonuçlanabileceği anlamına gelir. Ve ^C
terminale bakarken komutun sonunda olmuş gibi olduğu kadar kolay tanınmaz.
Normal yankıya izin verecek bir yapılandırma bulmaya çalışıyorsanız (dahil echoctl
) ve sadece sinyal oluşturucu karakterlerin yankısını susturmaya ve bunun mümkün olacağından eminiz çünkü daha önce böyle çalıştığını gördünüz ...
Muhtemelen bu şekilde gördün. Ancak bu taahhüt nedeniyle artık mümkün değil :
ec5b1157f8e819c72fc93aa6d2d5117c08cdc961 işleme
N_TTY disiplininde INTR / QUIT / SUSP yankılarını açın (örn. Stty echoctl ayarlanmış ve ctrl-C INTR olarak ayarlanmışsa ctrl-C "^ C" olarak görünecektir).
Linux gibi görünüyor sadece Unix benzeri işletim sistemi (geçenlerde Solaris, BSD ve Mac OS X üzerinde bu doğrulandıktan) bunu yapmaz değil , bu şekilde davranmaz ve gerçekten bir program interruptları iyi görsel onay olarak bu kaçırma Konsolda veya xterm'de. Bunu merakla yıllar boyunca kullandığım birçok Unix'ten hatırlıyorum. Bunu Linux'a getirmek, standart unix benzeri davranışlarla daha uyumlu hale getirmek için iyi bir yol gibi görünüyor.
Linux kullanılan severek nasıl Hatırlarsanız için değil o yankı ^C
, eski davranış geri almak için tek yol çekirdeğe yama etmektir. Son versiyonlarda, sinyal üreten karakterlerin yankıları / tty / n_tty.c sürücülerinin 1215-1218 satırlarındadır .
set echo-control-characters off