我在工作中使用的应用程序之一有时会与我的 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 包一起提供。