Como capturar a formatação de texto no bash?

2

O script de shell a seguir funciona, mas remove a formatação colorida gerada por rspec :

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

Como preservar as cores?

    
por B Seven 31.10.2012 / 14:40

1 resposta

4

É comum os programas com saída colorida desativá-la, caso não estejam sendo executados diretamente em um TTY, pois você pode estar direcionando a saída para um arquivo de log ou para outro processo que espera texto simples. Normalmente, os programas oferecem uma opção para forçar manualmente as cores ativadas e rspec tem uma ( --color ), mas, por algum motivo, ela a ignora se você não estiver executando em um TTY, o que é um comportamento incomum.

Acho que suas únicas opções são editar rspec para fazer essa verificação (consulte def color in rspec-core-2.11.1/lib/rspec/core/configuration.rb ) ou executá-lo em um programa que o levará a pensar que ele tem um TTY, como expect

    
por 31.10.2012 / 15:02