Biblioteca de saída de script de shell colorido

Eu estou procurando uma maneira definitiva para construir scripts de shell que gera saída colorida.

Infelizmente, estou tendo dificuldade em encontrar uma boa técnica ou boa técnica para fazer isso. Eu encontrei muitos exemplos úteis, mas simples comoisto. Também o guia mais abrangente que encontrei até agora éeste.

Antes de começar a escrever minha própria biblioteca, quero verificar se alguém já a escreveu

Se a sua solução não se encaixa nas observações abaixo, isso não é um problema. Eu também gostaria de lê-lo para que possa me ajudar se decidir escrever minha própria solução

Minhas principais preocupações / observações:

Precisa ser seguro. Deseja evitar a saída de lixo, pois nem todos os terminais ou pagers / editores (como menos, mais, vim e assim por diante) suportam saída colorida ou saída mais estilizada (negrito, piscada, itálica, etc.)Precisa ser fácil e legível. UsandoCódigos de escape ANSI diretamente é horrível:echo -e '\033[32mthis is ugly and \033[1;32mvery green\033[0m'Precisa me dar acesso a toda a paleta de cores e estilos para texto de primeiro plano e plano de fundo. A maioria dos exemplos que encontrei usa apenas as cores básicas apenas para o texto em primeiro plano.É preferível usar apenas comandos simples como bash ou shells mais simples construídos em comandos e / ou comandos comuns que podem ser encontrados na maioria dos sistemas operacionais. Por exemplo, eu posso usarcolorir mas eu precisaria de ruby ​​(isso é um pouco ok) e o colorize gem instalado (não ok)Tput parece ser uma boa opção como ele pode manipular o cursor do shell muito bem, mas é um pouco mais simples / menos flexívelEditar

Depois de algumas pesquisas sobre controle de terminal e formatação de saída, eu estou escrevendoesta essência que tenta realizar isso. Até agora está indo muito bem

questionAnswers(6)

yourAnswerToTheQuestion