如何在 bash 中捕获文本格式?

如何在 bash 中捕获文本格式?

以下 shell 脚本可以工作,但会删除由 生成的彩色格式rspec

#!/bin/bash
OUTPUT=`rspec`
echo "$OUTPUT"

如何保存颜色?

答案1

对于具有彩色输出的程序,如果不直接在 TTY 中运行,则通常会禁用它,因为您可能会将输出通过管道传输到日志文件或另一个需要纯文本的进程。通常,程序会提供一个开关来手动强制启用颜色,并且rspec有一个 ( --color),但由于某种原因,如果您没有在 TTY 中运行,它会忽略它,这确实是不寻常的行为。

我认为你唯一的选择是编辑rspec以取出该检查(参见def colorrspec-core-2.11.1/lib/rspec/core/configuration.rb,或者在一个程序中运行它,该程序会欺骗它认为它有一个 TTY,例如expect

相关内容