Știu că pentru imprimarea unui text colorat folosind echo, de exemplu culoarea roșie, codul este: echo -e "\e[1;31m This is red text \e[0m"
și știu că în acest exemplu, 31 este cod de culoare roșie, iar numărul celorlalte culori este:
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
iar pentru culorile de fundal, numărul este de la 40 la 47
Întrebarea mea este următoarea: ce înseamnă \e
și [
și m
(după 31) înseamnă exact aici?
Am citit în pagina de manual că \ e escape, dar nu am înțeles ce înseamnă.
Comentarii
Răspuns
Acestea fac parte din „Elementele secvenței” din Secvențe de evadare ANSI cunoscute și sub numele de ECMA-48 Secvențe CSI care au fost adoptate inițial în 1976
Mai precis
este „ Introducere a secvenței de control ”
Tastați man console_codes
în aproape orice distribuție * nix pentru a vedea codurile și unele documente.
Comentarii
-
man 4 console_code
notman console_code
: În ubuntu-ul meu - Numele paginii manuale se termină cu un " s " deci " man console_codes " ar trebui să afișeze pagina corectă.
Răspuns
Pentru a fi precise codurile de culoare sunt definite ca mai jos-
Opening RED= "\033[31m" or "\e[1;31m" CYAN="\033[36m" or "\e[1;31m" Closing = "\033[m" or "\e[0m"
Deci, în principiu, este doar modul în care diferitele terminale interpretează codurile de culoare și îți subtitrează textul în aceste elemente. Este un mod ciudat de a face terminalul să înțeleagă ce vrei să spui (cum ar fi HexCodes sau Binary ..)
Răspuns
Am găsit un explicație frumoasă aici (cel puțin, frumos pentru mine : -) ). Nu sunt sigur dacă vă va fi util.
Pentru a începe, tastați acest lucru pe consola dvs.:
echo "^[[0;31;40mIn Color"
Primul caracter este un caracter de evadare, care arată ca două caractere, ^ și [. Pentru a putea imprima acest lucru, trebuie să apăsați CTRL + V și apoi tasta ESC. Toate celelalte caractere sunt caractere tipărite normale, astfel încât să vedeți șirul În culoare în roșu. Tipul rămâne acea culoare până când reveniți înapoi, tastând acest lucru:
Sunt coduri de evacuare pentru a seta modurile de culoare în terminal. Doar că, atunci când sunt tipărite cu caractere obișnuite, arată așa.
Răspuns
\e
este prescurtarea personajului Escape. <ESC>[
și m
sunt markerii pentru începutul și sfârșitul secvențelor de control al culorii ANSI, care sunt un subset al controlului terminalului ANSI secvențiat . Cele mai multe dintre ele încep cu <ESC>[
, urmate de un număr, urmat de o literă care indică ce funcție este implementată (de exemplu, mutați cursorul pe linie; ștergeți la sfârșitul liniei, reveniți la cursorul salvat locație, etc.).
echo "She said \"Hi\""
În ceea ce privește acest caz (întrebarea dvs. ), ' va trebui să așteptați un răspuns mai bun.