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

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

现象

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

排除

请先排除其它情况。

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

常见场景

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

分析

原因

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

#关闭输入回显
stty -echo

解决

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

#开启输入回显
stty echo
© 版权声明
THE END
广告
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容