Chinaunix首页 | 论坛 | 博客
  • 博客访问: 737532
  • 博文数量: 124
  • 博客积分: 3156
  • 博客等级: 中校
  • 技术积分: 1584
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-02 10:29
文章分类

全部博文(124)

文章存档

2012年(3)

2011年(2)

2010年(61)

2009年(34)

2008年(24)

我的朋友

分类: LINUX

2009-09-15 11:31:49

在linux/unix平台的经常使用scanf从键盘获取字符,输出字符后按Backspace键删除时,会出现^H,这对习惯了按Backspace键删除的用户来说,感觉非常别扭,虽然可以通过Ctrl+Backspace组合键实现删除功能

可通过stty命令修改终端配置来实现Backspace删除功能。如下:

QUOTE:   

[oracle@RHEL5 ~]$ id

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(asadmin)

[oracle@RHEL5 ~]$ stty erase ^h

若要恢复Ctrl+Backspace组合键删除功能,可执行以下命令:

QUOTE:

[oracle@RHEL5 ~]$ id

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(asadmin)

[oracle@RHEL5 ~]$ stty erase ^?

同时可通过stty -a查看所有的终端设置:

QUOTE:

oracle||oralinux||/home/oracle||-->>id
uid=500(oracle) gid=501(oinstall) groups=500(dba),501(oinstall)
oracle||oralinux||/home/oracle||-->>stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ;
eol2 = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

阅读(12453) | 评论(0) | 转发(0) |
0

上一篇:linux getch()

下一篇:格式化C语言命令indent

给主人留下些什么吧!~~