As seqüências de escape ANSI consistem em uma sequência de caracteres que começam com o caractere Escape, caractere 27. O caractere seguinte é frequentemente (embora nem sempre) um colchete aberto: [
O comando echo pode enviar caracteres de escape se você especificar -e
e usar \e
para escape.
O padrão ANSI define 8 cores, além de um modo brilhante, dando um total de 16 possibilidades. A sequência é:
\e[<number>m
Em que <number>
é um dos seguintes:
Primeiro plano:
- 30 preto
- 31 vermelho
- 32 Verde
- 33 amarelo
- 34 azul
- 35 magenta
- 36 Ciano
- 37 branco
Antecedentes:
- 40 preto
- 41 vermelho
- 42 Verde
- 43 Amarelo
- 44 azul
- 45 magenta
- 46 Ciano
-
47 Branco
-
0 Redefinir todos
- 1 negrito
Para deixar o primeiro plano vermelho e o fundo amarelo:
$ echo -e "\e[31m\e[43m"
E para ativar o negrito:
$ echo -e "\e[1m"
Claro, você pode combiná-los todos juntos:
$ echo -e "\e[31m\e[43m\e[1m"
Existem muitos outros códigos de escape para fazer outras coisas.
Por exemplo, limpe a tela e mova o cursor para o canto superior esquerdo:
$ echo -e "\e[2J\e[1;1H"
O que é útil ao alterar a cor:
$ echo -e "\e[31m\e[43m\e[1m\e[2J\e[1;1H"
O que mudará as cores, limpará a tela e colocará o cursor no canto superior esquerdo. Bem, quase no canto superior esquerdo. Echo coloca um retorno de carro, então ele se move para baixo de uma linha. Você pode adicionar -n
ao eco para evitar isso se você for muito exigente.
Se você estragar tudo e não conseguir ver o que está digitando, pode redefinir as cores do terminal para normal pressionando:
Ctrl + v [ 0 m Retornar
No que você espera é o prompt de comando. Ele vai girar em torno de um comando desconhecido, mas você poderá ver o que está fazendo novamente.