Bash
如何在 bash 中擷取文本格式?
以下 shell 腳本有效,但會刪除由 生成的彩色格式
rspec
:#!/bin/bash OUTPUT=`rspec` echo "$OUTPUT"
如何保存顏色?
如果具有彩色輸出的程序沒有直接在 TTY 中執行,則通常會禁用它,因為您可能會將輸出通過管道傳輸到日誌文件或另一個需要純文字的程序。通常,這些程序提供了一個手動強制啟用顏色的開關,並且
rspec
有一個 (--color
),但由於某種原因,如果您不在 TTY 中執行,它會忽略它,這確實是不尋常的行為。我認為您唯一的選擇是編輯
rspec
以取出該檢查(參見def color
參考資料rspec-core-2.11.1/lib/rspec/core/configuration.rb
),或者在一個程序中執行它,這會欺騙它認為它有一個 TTY,比如expect