Apa yang bisa saya lakukan jika bash berhenti bergema?

10

Salah satu aplikasi yang saya gunakan di tempat kerja kadang-kadang sekrup dengan bash saya dan jadi saya tidak melihat input saya sendiri. Yaitu

$ echo foo
foo
$

menjadi

$ foo $

Saya salah mencoba menjalankan stty -echoyang membuat masalah menjadi lebih buruk dan sekarang berhenti menerima perintah bersama-sama yang menempatkan input saya di beberapa negara yang hanya menyebabkan >muncul setiap kali saya line break dan tidak ada yang lain.

Apa yang harus saya lakukan?

Kit Sunde
sumber
2
Cobalah lari resetuntuk memulai yang baik. Tentu saja Anda tidak bisa masuk sekarang perintah apapun ke dalam sehingga terminal ini dari yang lain satu mencoba sesuatu seperti cat >/dev/pts/3mana 3adalah nomor terminal bermasalah Anda dan kemudian tekan tombol berikut: ESC c ENTER Ctrl-D.
jimmij

Jawaban:

19

Obat yang biasa untuk hal-hal seperti ini adalah

stty sane

The stty -echoseharusnya tidak membuat ini lebih buruk, karena itu hanya berubah off bergema dari input, dan Anda sudah memiliki itu.

Fakta bahwa Anda mengatakan pengembalian hanya menyebabkan >muncul berarti Anda telah memulai sesuatu yang menyebabkan kelanjutan pada baris berikutnya, misalnya echo 'akan melakukannya karena menunggu penutupan 'untuk mengakhiri string. Hal-hal lain akan menyebabkan ini juga, seperti if something; menunggu then ... fibagian itu.

Anda mungkin bisa menekan ctrl- cpada tahap itu untuk menghentikannya menunggu sisa perintah, kecuali terminal sangat kacau sehingga interupsi juga tidak dihasilkan.

Wurtel
sumber
Ah itu masuk akal. Saya mencoba memukul keduanya ctrl + cdan ctrl + ztetapi tampaknya tidak mencapai apa-apa.
Kit Sunde
3

Selain jawaban @ wurtel (terutama kemungkinan penjelasan >masalah), stty echoadalah kebalikan dari stty -echo, jadi Anda dapat menggunakannya. Anda juga dapat menggunakan reset, yang biasanya disertai dengan paket ncurses.

peterph
sumber