Linux的命令行输入不显示问题分析
Linux的命令行打字不显示咋办?
现象
使用Linux命令行时,正常的情况是终端会打出输入的信息。
但是有的时候,明明敲击了键盘,终端却没有字符打印出来。只有回车的时候,看到命令执行的结果。输入密码时不会显示密码,这是正常的,但有的时候是因为配置问题导致正常命令也不现实。
排除
请先排除其它情况。
- 网络或服务器卡顿导致的响应缓慢。
- 程序运行时终端处于非交互状态。
常见场景
这通常会在异常退出某种程序的时候遇到。特别是强行退出,比如进程hang死无法响应,我们登录另一个终端kill掉进程。
分析
原因
如果命令执行均正常,只是不显示键盘打印字符,那就只是stty的问题。我们通常会认为,敲了键盘,就应该有字出现在屏幕上。这是因为stty提供了字符回显。
各个把键盘键入的字符输出来的就是stty的输入回写功能,包括退格等字符处理,都是stty处理掉的。键盘给电脑的只有按键消息。
#关闭输入回显
stty -echo
解决
怎么修复无回显的问题?在终端输入以下命令再回车即可。
为了避免之前有字符影响,可以先回车一下。执行后,回显就有了。
#开启输入回显
stty echo
via.https://www.x64.ink/archives/1139.html
--------------
ubuntu linux终端输入命令无法显示解决
有时候我们在终端输入指令时,终端不显示指令,但是可以执行指令,原因只是在终端不显示上,解决办法如下:
关闭输入回显
stty -echo
打开输入回显
stty echo
我们可以利用打开输入回显的指令来恢复显示