Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Como alterar a cor de saída do eco no Linux

Introdução

A echo comando gera uma determinada string para o tubo de saída padrão, normalmente apontando para o terminal. Embora o tubo de saída padrão possa apontar para outras interfaces – o echo O comando normalmente é usado para imprimir e exibir mensagens no terminal. Por padrão, o texto da mensagem exibida herda a cor de outro texto no terminal (que é personalizável por si só). No entanto – existem várias maneiras de alterar a cor de saída de echo – tanto para strings individuais quanto para mensagens inteiras.

Neste pequeno guia, veremos como você pode alterar a cor de saída de echo em sistemas baseados em Linux, usando códigos de escape ANSI, tput e como você pode tornar esse processo menos detalhado em scripts Bash.

Alterar a cor de saída com códigos de escape ANSI

A maneira mais fácil de alterar a cor é através de sequências/códigos de escape ANSI. Todos os códigos de escape ANSI começam com o Escape caractere, que pode ser representado em vários formatos – 27 em decimal, x1B em hexadecimal, como a chave de controle ^[ou 33 em formato octal. As sequências são seguidas pelo comando:

33[command

Onde o suporte de abertura (Introdutor de Sequência de Controle) é opcional, mas ajuda a separar o comando do caractere de escape. Quando você coloca um código de cores como o comando, ele altera a cor do texto que se aproxima:

33[0;34

0;34 é o código para a cor azul, por exemplo. Só com isso, você pode alterar a cor do texto em echo com:

33[0;34Text

Onde Text seria de cor azul. Como alternativa, considere um script bash simples para imprimir "Bem vindo a Franca" nas cores da bandeira francesa:

#!/bin/bash  
BLUE='33[0;34m'
WHITE= '33[0;37m' 
RED= '33[0;31m'   
echo -e "${Blue}Welcome ${WHITE}to ${RED}France"

O opcional -e bandeira do echo comando permite que você use caracteres especiais como n (nova linha) e t (tab) dentro da string de entrada.

Depois de executar o script:

$ ./colors.sh

Isso resulta em:

Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Os códigos ANSI não se limitam à cor – mas também podem ser aplicados ao estilo. Os códigos 0..9 representam estilos de texto, enquanto os códigos 30...37 representam cores:

Cor códigos Estilos de Texto códigos
Preto 30 Texto simples 0
Vermelho 31 Texto em negrito 1
Verde 32 Texto de baixa intensidade 2
Castanho / Laranja 33 Texto sublinhado 4
Azul 34 Texto piscando 5
Roxa 35 Texto invisível 8
Ciano 36 Texto tachado 9
Cinza Claro 37

Vamos criar um script bash para explorar algumas dessas opções:

#!/bin/bash
echo -e "33[0;33mSample text"
echo -e "33[1;33mBold text"
echo -e "33[2;33mLow intensity text"
echo -e "33[4;33mUnderline text"
echo -e "33[5;33mBlinking text"
echo -e "33[8;33mInvisible text"
echo -e "33[9;33mStrikethrough text"

A execução deste script resulta em:

Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Confira nosso guia prático e prático para aprender Git, com práticas recomendadas, padrões aceitos pelo setor e folha de dicas incluída. Pare de pesquisar comandos Git no Google e realmente aprender -lo!

Da mesma forma, você pode alterar a cor de fundo desses textos usando códigos 40..47:

cor códigos
Preto 40
Vermelho 41
Verde 42
Castanho / Laranja 43
Azul 44
Roxa 45
Ciano 46
Cinza Claro 47

Alterar o plano de fundo de uma determinada string se resume à mesma regra de alterar a cor da fonte – o próprio código altera o comportamento:

#!/bin/bash
BLUE='33[0;44m'
BLACK='33[0;30m'
WHITE='33[0;30;47m'
RED='33[0;41m'
echo -e "${BLUE}Welcome ${WHITE}to ${RED}France"

Observação: Como regra geral – você pode traduzir cores de fonte para cores de fundo adicionando 10. 30 é a cor da fonte preta, 40 é a cor de fundo preto.

Altere a cor de saída com o tput

Uma alternativa aos códigos ANSI é usar o tput comando:

$ tput setaf color_code

setf permite 8 cores, enquanto setaf permite 256 cores, então dependendo do comando que você está usando, você pode ir entre 0..7 e 0..255 como os códigos de cores. Ambos comandos dedicam 0..7 com os mesmos códigos de cores, enquanto com setaf, 8..15 são cores de alta intensidade, e 16..231 são tons diferentes dos 8 primeiros, e 232..255 são cores em tons de cinza:

Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
Crédito: Wikipedia

Finalmente, tput também permite alterar a cor de fundo, adicionar negrito, diminuir a intensidade, etc. com outros comandos:

Estilos de Texto comandos
Cor do primeiro plano conjunto
Cor de fundo conjunto
Sem estilo sgv0
Texto em negrito pino
Texto de baixa intensidade escurecer
Texto sublinhado smul
Texto piscando piscar
Texto reverso rev

Vamos criar outro script que usa tput para alterar a cor de saída echo:

#!/bin/bash
YELLOW=`tput setaf 3`
echo "${YELLOW}Changing"
WHITE=`tput setaf 7 bold`
echo "${WHITE}Colors"
BLUE=`tput setaf 4 smul`
echo "${BLUE}With tput"
CYAN=`tput setaf 6 blink`
echo "${CYAN}is less"
RED=`tput setab 1 setaf 7`
echo "${RED}verbose!"

Este script imprimirá a seguinte saída no terminal:

Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O comando tput oferece uma maneira fácil de imprimir qualquer cor por meio de um código de cores simples. Vamos agora criar um script que possa imprimir todos os códigos de cores disponíveis para o comando tput:

#!/bin/bash
tput init 
 end = $ (($ (tput colors) - 1)) 
 w = 1 
 for c
  in $ (seq 0 $end) 
  do
eval "$(printf " tput setaf % 3 s " " $c ")" 
      echo - n "$_" 
      [[$c - ge $ ((w * 2))]] 
      offset = 2 || offset = 0 
      [[$ (((c + offset) % (w - offset))) - eq $ (((w - offset) - 1))]] 
      echo 
 done 
 tput init

Irá imprimir de 0 a 255 cores e seus códigos:

Como alterar a cor de saída do eco no Linux PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Conclusão

Neste pequeno guia - vimos como você pode alterar a cor de echo's no Linux - usando ANSI Escape Sequences e o tput comando.

Também exploramos como você pode tornar o processo menos detalhado usando variáveis ​​Bash, ajustar cores de fundo e estilo de texto.

Carimbo de hora:

Mais de Abuso de pilha