【问题标题】:Preserve colored output using php's popen使用 php 的 popen 保留彩色输出
【发布时间】:2013-09-21 05:22:47
【问题描述】:

在 php 中使用popen 时,有没有办法保留程序可能生成的彩色输出?有没有一种方法可以告诉 shell 打印所有颜色转义序列,而不是解析它们?

【问题讨论】:

  • 您是在 PHP 脚本中还是在命令行中执行此操作?
  • 我正在命令行上运行一个 php 脚本,该脚本正在执行一个使用颜色转义序列的程序。

标签: php popen terminal-color


【解决方案1】:

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

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

【讨论】:

  • 这回答了我所有的问题!谢谢。
  • 如果您使用像 ls 这样的 GNU 实用程序,则 force 参数是 --color=always
猜你喜欢
  • 2012-10-29
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多