![Busybox 支持 ANSI 转义码吗?](https://linux22.com/image/222410/Busybox%20%E6%94%AF%E6%8C%81%20ANSI%20%E8%BD%AC%E4%B9%89%E7%A0%81%E5%90%97%EF%BC%9F.png)
我正在编写一些必须在 initramfs 内部运行的脚本。其中一个脚本执行的操作需要几分钟,所以我想显示一个漂亮的进度条,可以就地更新,添加一点彩色文本等。只需让界面对最终用户来说更好一点。
现在,我的大部分脚本经验都是为 bash 编写脚本,并且我在该上下文中多次使用了 ANSI 转义码,但 busybox 似乎以非标准方式处理一些 ANSI 转义码。基于此维基百科文章,转义码\e[1m
应该使文本变为粗体,实际上在 bash shell 中该命令echo -e "\e[1mansi test"
就是这样做的。在 busybox shell 中,相同的 echo 命令会输出具有常规字体粗细的黑色文本。
再例如,该命令echo -e "\e[3mansi test"
应输出斜体文本。在 bash 中,确实如此。在 busybox 中,它会输出绿色文本,这通常是使用\e[32m
转义码完成的(是的,我确保我没有输入错误的命令)。
据我所知,busybox 似乎并没有完全遵循标准 ANSI 转义码,而是似乎对它们有一些替代解释,但我在任何地方都找不到这方面的文档。
有谁知道这里发生了什么以及我在哪里可以找到一些有关 busybox 如何解释 ANSI 转义码的文档?