Linux的命令行输入不显示问题分析

  • A+
所属分类:操作系统

Linux的命令行打字不显示咋办?

现象

使用Linux命令行时,正常的情况是终端会打出输入的信息。
但是有的时候,明明敲击了键盘,终端却没有字符打印出来。只有回车的时候,看到命令执行的结果。输入密码时不会显示密码,这是正常的,但有的时候是因为配置问题导致正常命令也不现实。

排除

请先排除其它情况。
1. 网络或服务器卡顿导致的响应缓慢。
2. 程序运行时终端处于非交互状态。

常见场景

这通常会在异常退出某种程序的时候遇到。特别是强行退出,比如进程hang死无法响应,我们登录另一个终端kill掉进程。

分析

原因

如果命令执行均正常,只是不显示键盘打印字符,那就只是stty的问题。我们通常会认为,敲了键盘,就应该有字出现在屏幕上。这是因为stty提供了字符回显
各个把键盘键入的字符输出来的就是stty的输入回写功能,包括退格等字符处理,都是stty处理掉的。键盘给电脑的只有按键消息。

#关闭输入回显
stty -echo

解决

怎么修复无回显的问题?在终端输入以下命令再回车即可。
为了避免之前有字符影响,可以先回车一下。执行后,回显就有了。

#开启输入回显
stty echo

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: