+ -
当前位置:首页 → 问答吧 → 关于tty与bash的一个问题

关于tty与bash的一个问题

时间:2011-04-05

来源:互联网

在linux下,做了如下实验:
  直接执行命令cat,然后屏幕等着你输入信息,当按HOME键,则显示^[[1~ ,但是直接linux的命令行中按HOME键,则没有这些怪怪的符号,按道理cat和bash都是利用了/dev/tty0来读取或输出数据,两者对HOME键的处理是一样才对,但是这里为什么有这么大的差别(按其它的键,如END,Page Up等也一样有这种差别)??请高手解释一下,谢谢!

作者: liubo1977   发布时间: 2011-04-05

两者对HOME键的处理是一样才对????

作者: waker   发布时间: 2011-04-05

回复 waker


    就是说:bash和cat都是从/dev/tty读取数据,这些数据都是由/dev/tty先缓存起来,当用户按下回车键,才传给cat或bash处理,在没有传给cat或bash之前,用户可用ctrl+U,ctrl+W来删除输入的字符(这个我已经验证,两个应用程序都支持),但是在按下HOME等键时,两个应用程序表现不一样:cat在等待用户输入时,当用户按下HOME键,则显示^]]1~,而bash则会将光标移到最前面,我想问的是为什么会有这种差别?

作者: liubo1977   发布时间: 2011-04-05