Tôi có thể làm gì nếu bash ngừng vang?


10

Một trong những ứng dụng tôi sử dụng tại nơi làm việc đôi khi làm hỏng việc bash của tôi và vì vậy tôi không thấy đầu vào của riêng mình nữa. I E

$ echo foo
foo
$

trở thành

$ foo $

Tôi đã cố gắng chạy không chính xác, điều stty -echonày làm cho vấn đề trở nên tồi tệ hơn và bây giờ nó dừng việc chấp nhận các lệnh cùng nhau, điều đó khiến đầu vào của tôi ở một số trạng thái chỉ >xuất hiện mỗi khi tôi ngắt dòng và không có gì khác.

Tôi nên làm gì đây?


2
Cố gắng chạy resetđể có một khởi đầu tốt. Tất nhiên bạn không thể đưa vào ngay bất kỳ lệnh vào để thiết bị đầu cuối này từ một cái gì đó một thử như cat >/dev/pts/3nơi 3là số thiết bị đầu cuối có vấn đề của bạn và sau đó nhấn các phím sau: ESC c ENTER Ctrl-D.
jimmij

Câu trả lời:


19

Biện pháp khắc phục thông thường cho những thứ như thế này là

stty sane

Không stty -echonên làm điều này tồi tệ hơn, vì điều đó chỉ tắt tiếng vang của đầu vào, và bạn đã có điều đó.

Việc bạn nói trả về chỉ là nguyên nhân >xuất hiện có nghĩa là bạn đã bắt đầu đôi khi gây ra sự tiếp tục cho các dòng tiếp theo, ví dụ như echo 'sẽ làm điều đó bởi vì nó đang chờ đóng 'để chấm dứt chuỗi. Những thứ khác cũng sẽ gây ra điều này, chẳng hạn như if something; nó đang chờ then ... fiphần.

Bạn có thể đã đánh ctrl- cở giai đoạn đó để ngăn chặn nó chờ phần còn lại của lệnh, trừ khi thiết bị đầu cuối bị rối đến mức các ngắt cũng không được tạo.


Ah điều đó có ý nghĩa. Tôi đã cố gắng đánh cả hai ctrl + cctrl + zdường như không hoàn thành bất cứ điều gì.
Kit Sunde

3

Ngoài câu trả lời của @ wurtel (đặc biệt là lời giải thích có khả năng của >vấn đề), stty echothì ngược lại stty -echo, vì vậy bạn có thể sử dụng nó. Bạn cũng có thể sử dụng reset, thường đi kèm với các gói ncurses.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.