Escape: Värikoodit ja muut hienoudet

Linux.fista
Versio hetkellä 27. elokuuta 2021 kello 12.44 – tehnyt LinuxMan (keskustelu | muokkaukset) (→‎Kursori: Pisteet)
Siirry navigaatioon Siirry hakuun

Kauan aikaa sitten ASCII-standardi määräsi kuinka kirjaimet ja sellaiset näytetään näytöllä. Mukana on myös kontrollikoodeja, joista meitä tänään kiinnoistaa Escape. Se voidaan Esc-näppäimen lisäksi saada seuraavilla tavoilla:

Escape-kontrollikoodi eri tavoilla
Binääri Oktaali Desimaali Heksadesimaali Näppäimistö C tai printf-konsolikomento
11011 33 27 1b ^[ alias Ctrl+[ alias (joissain näppäimistöasetteluissa) Ctrl+AltGr+8 tai usein Escape-näppäin \e

Kun laittaa Escape-koodin ja tietyn merkkiyhdistelmän, saa hienoja tuloksia.

Seuraavissa esimerkeissä vinot kirjaimet tarkoittavat sitä, että tekstiä ei kirjoiteta niin kuin se esimerkissä näytetään. Päättele asiayhteydestä. Laita myös ennen esimerkkejä Escape-koodi. Voit testata vaikka konsolikomennolla printf näitä (pakokoodi on siinä \e). Pääteasetukset tulevat tietenkin vaikuttamaan ulkonäköön.

Kursori

[a;bH siirtää kursorin koordinaatteihin a,b.

[?25l/h joko piilottaa (l) tai näyttää (h) kursorin.

Miltä teksti näyttää

Väritöntä ja värillistä tekstiä voi yhdistää.

Värittömät

[vm muuttaa ulkoasua v-muuttujan mukaan, kaavio:

Värittömät ulkoasut
0 1 2 3 4 5 8
Resetoi tekstin ulkoasun Kirkas teksti Pimeä teksti Vino teksti Alleviivattu teksti Vilkkuva teksti Piilotettu teksti

Värilliset

[tvm asettaa itse tekstin (t=3) tai taustan (t=4) värin, joka on v. Kaavio alla:

Värit
0 1 2 3 4 5 6 7 9
Musta Punainen Vihreä Keltainen Sininen Magenta Syaani Valkoinen Oletusväri

Esimerkkejä

printf '\e[3mMAINOS:\e[0m \e[5mUusia Swap-muistin laajennustuotteita (menetelmän tehokkuus saa lääkärit \e[1mraivoamaan\e[0m\e[5m...)\e[0m\n'
printf '\e[1m\e[31mHÄTÄTAPAUS!!! Joku inhottava tietomurtautuja kirjoitti "sleep 30; rm -rf /*"! Meillä on \e[5mpuoli minuuttia aikaa\e[0m\e[1m\e[31m pyytää ylläpitäjää lähettämään SIGKILL!\e[30m\e[0m\n'
printf '\e[8mLaitetaan tähän törkeä salaisuus jota kukaan ei löydä. Vaikka: Käytän tabulaattoreiden sijaan välilyöntejä.\e[0m\n'