有时(很少)会发生这种情况:当我击中进入在终端上,命令提示符不会转到下一行,但它会再次打印在同一条线。
我的解决方法是关闭终端并打开一个新终端。有什么方法可以避免这种情况吗?
重现步骤:
- 尝试在启用身份验证的情况下登录 mongo,这样你就会得到输入密码的提示,如下所示:
mongo --authenticationDatabase somedb -u someuser -p
, - 然后在显示的密码提示中,点击
ctrl+c
,瞧,现在所有内容都在同一行
答案1
使用reset
命令。
看man reset
:
当以 reset 形式调用时,tset 会设置 cooki 和 echo 模式,关闭 cbreak 和 raw 模式,打开换行翻译并在执行上述终端初始化之前将任何未设置的特殊字符重置为其默认值。当程序终止并导致终端处于异常状态时,此功能非常有用。
它在终端出现故障的许多情况下很有用,例如,如果脚本关闭了本地回显并在重新打开之前死亡,那么您就无法在提示符下看到您正在输入的内容……
答案2
下次遇到此问题时,键入ctrl+c
,它将结束输入的命令。这可能会有所帮助,请告诉我发生了什么。
您还需要确保您所输入的内容输入正确;这可能就是它被捕获的原因。