Unix编程/应用问答中文版---19.终端相关问题

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

19. 终端相关问题

19.1 如何使Backspace键做删除操作,而不是显示^H

19.2

19.3 如何清空stdin的缓冲

19.4 Linux Console下一按错键就叫,怎么关

--------------------------------------------------------------------------

19. 终端相关问题

19.1 如何使Backspace键做删除操作,而不是显示^H

Q: Backspace键并未删除光标左面那个字符,仅仅显示^H,而DEL键完成了删除操作

A: Sun Microsystems 2001-03-08

执行"stty -a"将看到"erase = ^?",表示此时DEL键对应删除操作。

如果正在使用xterm,可以用"tset"命令设置控制字符对应的操作。其他窗口中,假

设目前使用/sbin/sh,尝试

$ stty erase ^H

这里^H的输入是Ctrl-H,某些时候可能需要Ctrl-V、Ctrl-H输入,还可以尝试

$ stty erase "^h"

$ stty erase "^H" (大小写不敏感)

这里输入"^H",就是两个字符,一个^,一个H。

同样,如果想恢复到DEL删除

$ stty erase ^?

这里^?的输入是DEL,某些时候可能需要Ctrl-V、DEL输入,还可以尝试

$ stty erase "^?"

这里输入"^?",就是两个字符,一个^,一个?。

为了永久保留这个设置,在所使用的shell初始化文件中增加设置命令,比如c shell

的".cshrc",其他shell的".login"。

19.3 如何清空stdin的缓冲

A: law@apue.dhs.org

stdin->_IO_read_ptr = stdin->_IO_read_end;

不过这个办法实在不怎么样。一是只对glibc有效,不可移植。二是违背流的思想,

老老实实用fgets()好了。

19.4 Linux Console下一按错键就叫,怎么关

A: windtear@bbs.tsinghua.edu.cn Linux版

有个1050110 背一下就可以了

echo -e "\\33[10;50]\\33[11;0]"

10 50 11 0

放到那些登录言启动脚本里

Q: 输完命令后是没声了,可从KDE回来之后又有了,请问能彻底关掉吗

A: TheCool@bbs.tsinghua.edu.cn Linux版

setterm -blength 0 -bfreq 0

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航