如果 bash 停止回显我该怎么办?

如果 bash 停止回显我该怎么办?

我在工作中使用的应用程序之一有时会与我的 bash 发生冲突,因此我不再看到自己的输入。 IE

$ echo foo
foo
$

变成

$ foo $

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

我应该做什么?

答案1

解决此类问题的通常方法是

stty sane

stty -echo应该让情况变得更糟,因为这只是关闭输入的回显,而你已经有了。

事实上,您所说的 return 只是导致>出现,这意味着您已经开始了一些导致下一行继续的事情,例如echo '将这样做,因为它正在等待结束来'终止字符串。其他事情也会导致这种情况,例如if something;它正在等待该then ... fi部分。

您可能可以在那个阶段点击ctrl-c来停止它等待命令的其余部分,除非终端非常混乱以至于也没有生成中断。

答案2

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

相关内容