1

When using popen in php, is there a way to preserve the colored output a program might generate? Is there maybe a way I can tell the shell to print all color escape sequences, instead of resolving them?

4

1 回答 1

2

这取决于您正在调用的程序。通常,如果一个程序支持彩色输出,它会询问操作系统,“我在终端上运行吗?” 如果是,则输出颜色代码。如果没有,它不会。如果您通过 运行该程序popen(),那么操作系统会说“不,您没有在终端上运行”并且程序会选择不输出颜色代码(因为它们会在捕获的输出中造成混淆)。

即使输出未写入终端,某些程序也可能具有强制输出颜色代码的选项。但是,如果程序还没有办法做到这一点,那不是您可以从外部强制执行的操作。

于 2013-09-16T22:47:36.433 回答