Jawaban:
Edit (atau buat) ~/.inputrcfile Anda . Tambahkan kalimat yang mengatakan
set echo-control-characters Off
Ini akan menginstruksikan perpustakaan GNU Readline (yang digunakan Bash) untuk tidak menampilkan (gema) karakter kontrol apa pun ke layar. Pengaturan akan aktif di semua sesi Bash baru sesudahnya (dan pada utilitas lain yang menggunakan pustaka Readline).
Perhatikan bahwa jika sistem Unix Anda dilengkapi dengan file konfigurasi seluruh sistem untuk pustaka Readline (biasanya /etc/inputrc), maka file konfigurasi pribadi Anda harus menyertakan file itu:
$include /etc/inputrc
set echo-control-characters Off
Alternatif lain adalah membuat salinan pribadi dari file konfigurasi sistem lalu mengubahnya.
sleep 180dan tekan CTRL + C
~/.inputrcbelum ada maka cukup membuat file mungkin kehilangan beberapa pengaturan yang ada. Dalam kasus saya, saya pertama kali memperhatikan bahwa ctrl + kiri dan ctrl + kanan telah berhenti bekerja. Cara mengatasinya adalah memulai saya ~/.inputrcdengan baris ini $include /etc/inputrc. Dimungkinkan juga untuk cp /etc/inputrc .inputrcmengedit dan mengedit sesuai keinginan.
Coba yang berikut ini:
stty -echoctl
Untuk penjelasan, lihat posting hebat dan terperinci ini dari Stéphane Chazelas yang juga menjelaskan beberapa sttyfitur lainnya .
Jika Anda ingin menjadikan perubahan itu permanen (dan Anda menggunakan bashsebagaimana tersirat dalam pertanyaan Anda) maka yang terbaik adalah memasukkannya ke Anda .bashrcsebagaimana dicatat oleh jlmg di komentar (jadi itu berlaku untuk semua shell interaktif).
.bash_profilesebagai file yang hanya diuraikan oleh shell login. Itu harus dimasukkan .bashrcsebagai gantinya, jadi itu dibaca oleh semua doa interaktif.
^[[A
stty -echojuga. Itu tentu saja akan mencegah gema dari semua yang lain juga, yang mungkin membuat jawaban ini tidak-pergi jika semua yang Anda inginkan adalah menyembunyikan huruf ^Cs.
^Cselalu di akhir saya mungkin setuju dengan Anda. Tetapi ^Cakan dicetak di mana pun kursor berada, yang dapat menimpa sepasang karakter di mana saja dalam perintah. Itu berarti jika Anda perlu menyalin-tempel bagian dari perintah itu, Anda mungkin berakhir dengan sesuatu yang rusak. Dan ^Citu tidak mudah dikenali ketika melihat ke terminal seperti seharusnya jika itu di akhir perintah.
Jika Anda mencoba menemukan konfigurasi yang memungkinkan gema normal (termasuk echoctl) dan hanya membungkam gema karakter penghasil sinyal, dan Anda yakin itu mungkin terjadi karena Anda pernah melihatnya berfungsi seperti itu sebelumnya ...
Anda mungkin melihatnya seperti itu. Tapi itu tidak mungkin lagi, karena komitmen ini :
komit ec5b1157f8e819c72fc93aa6d2d5117c08cdc961
Nyalakan INTR / QUIT / SUSP yang bergema di garis disiplin N_TTY (mis. Ctrl-C akan muncul sebagai "^ C" jika stty echoctl diatur dan ctrl-C ditetapkan sebagai INTR).
Linux tampaknya menjadi satu-satunya OS yang mirip unix (baru-baru ini saya telah memverifikasi ini pada Solaris, BSD, dan Mac OS X) yang tidak berperilaku seperti ini, dan saya sangat merindukan ini sebagai konfirmasi visual yang baik dari gangguan suatu program di konsol atau xterm. Saya ingat ini sayang dari banyak Unix yang saya gunakan selama bertahun-tahun juga. Membawa ini ke Linux juga sepertinya cara yang baik untuk membuatnya lebih sesuai dengan perilaku standar unix-like.
Jika Anda ingat bagaimana Linux dulu tidak menggemakannya ^C, satu-satunya cara untuk mengembalikan perilaku lama adalah dengan menambal kernel Anda. Dalam versi terbaru, gema karakter penghasil sinyal ada di baris 1215-1218 driver / tty / n_tty.c .
set echo-control-characters off