Cygwin BASH 和 ANSI 控制序列
这里有几件事:
- 任何人都可以向我指出用于解码 ANSI 控制台转义序列的 C 代码吗?
- 有没有办法让 Cygwin BASH 模拟一个愚蠢的老 TTY?
也许这应该是两个问题。
谢谢。
Several things here:
- Can anyone point me at C code to decode ANSI console escape sequences?
- Is there a way to get Cygwin BASH to emulate a dumb old TTY?
Maybe this should be 2 questions.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个有点间接的答案,但 GNU ncurses 库可以处理各种终端。 找出哪些控制序列适用于 ANSI 终端的一种方法是反编译 ANSI 终端描述:
这将为您提供一组 terminfo 属性,curses 程序使用这些属性来在 ANSI 终端上实现效果。 当然,你必须知道这些象形文字的含义。
在 Cygwin 上,我得到:
'
\E
' 表示法指的是 ESC 字符。如果做不到这一点,您可以查找标准本身。
It's a somewhat indirect answer, but the GNU ncurses library handles terminals of all sorts. One way of finding out which control sequences are applicable to ANSI terminals would be to decompile an ANSI terminal description:
This would give you the set of terminfo attributes that are used by curses programs to achieve effects on an ANSI terminal. Of course, you then have to know what those hieroglyphs mean.
On Cygwin, I got:
The '
\E
' notation refers to the ESC character.Failing that, you could look up the standard itself.
调整 TERM 环境变量可能会使基于 terminfo/termcap 的应用程序避免使用高级转义序列。 (导出术语=哑)
但我不确定这就是你想要的。
Tweaking the TERM environment variable might make applications based on terminfo/termcap avoid using advanced escape sequences. (export TERM=dumb)
I am not sure that's what you want, though.