首页 > 编程开发 > C/C++ > 正文  
Unix编程/应用问答中文版 ---19.终端相关问题
出自:http://www.nsfocus.com 小四 2001年11月24日 13:37
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
】【http://www.trainlinux.com】【Close
『相关资料』
Unix编程/应用问答中文版 ---21.FreeBSD相关问题 (2001-11-24 13:37)
Unix编程/应用问答中文版 ---20.shell script问题 (2001-11-23 13:36)
Unix编程/应用问答中文版 ---22.Linux Kernel Programming (2001-11-23 13:36)
Home 

诚恩Linux培训工作室