我正在尝试使用ANSI转义序列,例如:echo -e "\e[91mHello\e[m" 在Linux控制台上显示彩色文字。 现在我尝试使用上标和下标输出,例如a=b²。 我阅读了这里和这里关于:部分行下移(下标)和部分行上移(上标),但我不确定确切的语法,甚至不知道哪个终端客户端支持此功能。 对此有什么建议吗?
可能有一些商业产品支持它,但你不会遇到任何终端仿真器支持它(除非有人修改了一个来证明一点)。标准描述了可能的转义序列,但并没有要求任何给定序列被任何终端支持。通常支持(和假定)的序列是清除屏幕,但即使对于这个功能,也不是所有终端都支持。原因是终端仿真器通常与应用程序(如文本编辑器)一起使用,这些应用程序假设一组常规的行/列,并且文本被紧凑地显示(没有额外的空间,例如需要允许部分行移动)。在过去使用打字机的时代,常见的是1.5或2.0行间距,在一页上最多只能得到33行。很久以前就改变了这种情况。对上下标的需求并没有消失——Unicode提供了一组可用的具有该表示形式的字符(请参见“上标和下标”范围:2070-209F)。进一步阅读: 你的新Royal便携式打字机 (1953)。 行距 - Butterick's Practical Typography console_codes - Linux控制台转义和控制序列