Eu sei que para imprimir um texto colorido usando eco, por exemplo cor vermelha, o código é: echo -e "\e[1;31m This is red text \e[0m" 
 e eu sei que neste exemplo, 31 é o código da cor vermelha e o número das outras cores é: 
Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light Green 1;32 Cyan 0;36 Light Cyan 1;36 Red 0;31 Light Red 1;31 Purple 0;35 Light Purple 1;35 Brown 0;33 Yellow 1;33 Light Gray 0;37 White 1;37 
e para cores de fundo, o num é de 40 a 47
 minha pergunta é esta: o que \e e [ e m (após 31) significa exatamente aqui? 
 Li na página de manual que \ e é escape, mas não entendi o que significa. 
Comentários
Resposta
Eles fazem parte dos “Elementos de sequência” de Sequências de escape ANSI também conhecidas como ECMA-48 sequências CSI que foram originalmente adotadas em 1976
Mais especificamente, o
é o “ Introdutor de sequência de controle ”
 Digite  man console_codes  em quase todas as distros * nix para ver os códigos e alguns documentos. 
Comentários
-  
man 4 console_codenãoman console_code: No meu ubuntu - O nome da página do manual termina com " s " so " man console_codes " deve trazer a página correta.
 
Resposta
Para ser preciso, os códigos de cores são definidos conforme abaixo-
Opening RED= "\033[31m" or "\e[1;31m" CYAN="\033[36m" or "\e[1;31m" Closing = "\033[m" or "\e[0m" 
Basicamente, é apenas a maneira como os diferentes terminais interpretam os códigos de cores e você legenda seu texto dentro desses elementos. É uma maneira estranha de fazer o terminal entender o que você quer dizer (como códigos hexadecimais ou binários ..)
Resposta
Eu encontrei um boa explicação aqui (pelo menos, boa para mim : -) ). Não tenho certeza se será útil para você.
Para começar, digite no console:
echo "^[[0;31;40mIn Color"O primeiro caractere é um caractere de escape, que se parece com dois caracteres, ^ e [. Para imprimir isso, você deve pressionar CTRL + V e, em seguida, a tecla ESC. Todos os outros caracteres são caracteres normais para impressão, portanto, você vê a string In Color em vermelho. O tipo permanece nessa cor até que você volte a digitar:
Eles são códigos de escape para definir os modos de cor no terminal. É que, quando impressos com caracteres regulares, eles se parecem com isso.
Resposta
 \e é uma abreviatura para o caractere Escape. o <ESC>[ e o m são os marcadores para o início e o fim das sequências de controle de cores ANSI, que são um subconjunto do controle de terminal ANSI sequenciado . A maioria deles começa com <ESC>[, seguido por um número, seguido por uma letra indicando qual função está sendo implementada (por exemplo, mover o cursor para a linha; limpar para o final da linha, retornar o cursor para salvo localização, etc.). 
echo "She said \"Hi\""Quanto a este caso (sua pergunta ), você ' terá que esperar por uma resposta melhor.