问题描述:在tclsh中,当试图用Backspace键删除字符时,并没有删除光标前一个字符,而是显示^H。
解决办法:键入”stty erase ^H”命令即可。
问题分析:这个问题并不是tclsh特有的,很多程序都可能存在这个问题。根源在于tclsh程序做行编辑之类操作,并不是使用readline库,而是依赖于终端。因此我们可以通过stty对终端重新配置来解决这个问题。当使用readline时,终端处于raw模式,readline自己来解释backspace、delete、箭头等特殊字符;当不使用readline时,终端处于cooked模式,由终端驱动来负责解释特殊字符。
转自:
阅读(3605) | 评论(0) | 转发(0) |