如果bash停止回声,该怎么办?


10

我在工作中使用的一种应用程序有时会与我的bash拧在一起,所以我再也看不到自己的输入了。即

$ echo foo
foo
$

变成

$ foo $

我错误地尝试运行stty -echo,这使情况变得更糟,现在它停止接受所有命令,这使我的输入处于某种状态,该状态只会>在每次换行时出现,而没有别的。

我该怎么办?


2
尝试运行reset一个良好的开端。当然,你现在不能输入任何命令从另一一次尝试这样的终端,cat >/dev/pts/3在那里3是你的问题的终端数量,然后点击下面的键:ESC c ENTER Ctrl-D
jimmij 2014年

Answers:


19

对于这种情况,通常的补救措施是

stty sane

stty -echo不应该做这更糟糕,因为这只是关闭输入的呼应,而你已经有了这一点。

您说return只是导致>出现的事实意味着您已经开始某件事,该事导致下一行的连续,例如,echo '这样做是因为它正在等待关闭'来终止字符串。其他因素也会导致这种情况,例如if something;它在等待then ... fi零件。

您可能已经命中了ctrl- c在该阶段将其停止以等待命令的其余部分,除非终端太混乱以至于也不会生成中断。


嗯,这很有道理。我试图同时击中两者ctrl + cctrl + z但似乎没有完成任何事情。
Kit Sunde 2014年

3

除了@wurtel的答案(尤其是问题的可能解释>)外,stty echo它与是相反的stty -echo,因此您可以使用它。您也可以使用reset,通常与ncurses软件包一起提供。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.