Busybox 支持 ANSI 转义码吗?

Busybox 支持 ANSI 转义码吗?

我正在编写一些必须在 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 转义码的文档?

相关内容