värillisen tekstin tulostaminen echo

Tiedän, että värillisen tekstin tulostamiseen kaiun avulla, esimerkiksi punaisella, koodi on: echo -e "\e[1;31m This is red text \e[0m"
ja tiedän, että tässä esimerkissä 31 on punaisen värinen koodi ja muiden värien lukumäärä on:

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 

ja taustaväreille numero on 40–47.

Kysymykseni on seuraava: mitä \e ja [ ja m (31 jälkeen) tarkoittavat tarkalleen tässä?
Luin man-sivulta, että \ e on paeta, mutta en ymmärtänyt, mitä se tarkoittaa.

Kommentit

  • yleensä vältät merkit, joilla on erityinen merkitys nykyisessä teknisessä tilanteessa. Esimerkiksi merkkijonot kirjoitetaan usein lainausmerkkeihin, " näin ". Mutta jos haluat lainausmerkkejä jonossa, sinun on vältettävä merkkejä, jotta ne tulkitaan kirjaimellisesti eikä erottimina. Esimerkiksi echo "She said \"Hi\"" Mitä tulee tähän tapaukseen (kysymyksesi ), sinun ' sinun on odotettava parempaa vastausta.
  • hermannn.com/programs/terminal_fonts

vastaus

Ne ovat osa ANSI-pakosekvenssit tunnetaan myös nimellä ECMA-48 CSI-sekvenssit, jotka hyväksyttiin alun perin vuonna 1976

Tarkemmin sanottuna

on ” Ohjaussekvenssin esittelyohjelma

Kirjoita man console_codes melkein missä tahansa * nix-jakelussa nähdäksesi koodit ja jotkut asiakirjat.

Kommentit

  • man 4 console_code ei man console_code: Ubuntuani
  • manuaalisen sivun nimi päättyy " s " joten " mieskonsolin_koodit " pitäisi tuoda oikea sivu.

Vastaa

Tarkat värikoodit määritellään alla-

Opening RED= "\033[31m" or "\e[1;31m" CYAN="\033[36m" or "\e[1;31m" Closing = "\033[m" or "\e[0m" 

Joten pohjimmiltaan se on vain tapaa, jolla eri pääte tulkitsee värikoodeja, ja tekstität tekstisi näiden elementtien sisällä. Se on outo tapa saada päätelaite ymmärtämään mitä tarkoitat (kuten HexCodes tai Binary ..)

Vastaa

Löysin mukava selitys täällä (ainakin, mukava minulle : -) ). En ole varma, onko siitä hyötyä sinulle.

Aloita kirjoittamalla tämä konsolillesi:

echo "^[[0;31;40mIn Color"

Ensimmäinen merkki on pakomerkki, joka näyttää kahdelta merkiltä, ^ ja [. Tämän voi tulostaa painamalla CTRL + V ja sitten ESC-näppäintä. Kaikki muut merkit ovat tavallisia tulostettavia merkkejä, joten näet merkkijonon Väri punaisella. Tyyppi pysyy värissä, kunnes palaat takaisin kirjoittamalla tämän:

Ne ovat paikkakoodeja, jotka asettavat väritilat päätelaitteessa. Onko vain, kun tulostetaan tavallisilla merkeillä, ne näyttävät tältä.

Vastaa

\e on Escape-merkin lyhenne. <ESC>[ ja m ovat merkkejä ANSI-väriohjaussekvenssien alulle ja lopulle, jotka ovat ANSI-päätelaitteen ohjauksen osajoukko . Suurin osa niistä alkaa <ESC>[, jota seuraa numero, jota seuraa kirjain, joka ilmoittaa mitä toimintoa ollaan toteuttamassa (esim. Siirrä kohdistin riville; tyhjennä rivin loppuun, palauta kohdistin tallennettuun sijainti jne.).

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *