现象
我们在使用某些奇怪的程序时,会发现,你敲键盘命令行不显示任何东西。比如输入密码。当然,输密码肯定是不能显示出来了。
但是有的时候,因为程序什么的问题,敲命令行也不显示东西。只有回车的时候,看到命令执行的结果。这是怎么回事,怎么办?
原因:
因为,stty关闭了输入回写。我们可能想当然的认为,敲了键盘,就应该有字出现在屏幕上。只是这个也是因为程序提供了这个功能。如果程序不写这个功能,我们可能就不会这样认为。
各个把键盘键入的字符输出来的就是stty的输入回写功能,包括退格等字符处理,都是stty处理掉的。键盘给电脑的只有按键消息。
1 |
#关闭输入回显 |
2 |
stty -echo |
解决:
怎么解决这个问题?能关就能开嘛。
1 |
#开启输入回显 |
2 |
stty echo |
转载请注明:云计算技术手札 » Linux的命令行输入不显示问题处理