抱歉,如果已经有人问过这个问题,但是我不知道如何找到自己的答案-当我在任何搜索引擎中搜索“ ^ [[A”时,它都会完全忽略“ ^ [[”部分。
无论如何,我的问题是:有时在终端机(在Mac上)中,当我按箭头键时,会出现字符“ ^ [[A”,“ ^ [[B”,“ ^ [[C””或“ ^ [[D”” 。我似乎还记得几年前在使用(最可能的)DOS时遇到的情况,而且我认为它的发生频率也更高。
为什么会发生这种情况,这意味着什么?
这些是ANSI转义码。的^[
代表ESC(逃逸)字符,接下来[
是一个实际的左括号和字母表示转义码的功能。该Esc[
部分称为CSI(控制序列介绍器)。因此,该序列CSI
A
表示向上箭头或CUU(向上光标)。
无论如何,该方案可以追溯到VT100显示终端(1978年推出)的时间。VT100使用的某些转义序列在1980年代初期已由ANSI标准化,从那时起一直保持通用。
通常,当您按下箭头键时,某些程序(例如shell)正在侦听并可以对其执行操作。因此,当您按下向上箭头时,它会在命令历史记录中向后滚动。但是,如果正在运行的程序无法理解箭头键的转义序列,则它们通常最终会像您可能会击中的任何其他键一样,被回显到终端。因此,这就是为什么您有时会看到^[[A
是否按了向上箭头键的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句