Peagi on uus aasta, ja tõsise töö peale mõelda ei tahaks.
Igaüks püüab midagi pidulikku kaunistada: kodu, büroo, töötuba… Kaunistame ka meie midagi! Näiteks käsurida. Teatud mõttes on käsurida samuti töötuba.
Mõnedes distributsioonides on see juba "kaunistatud":

Teistes on see hall ja märkamatu:

Aga me saame teha näiteks nii:

Loomulikult on igaühel erinev maitse. Kui sarnane värvilahendus tundub teile liiga silmatorkav ja sobimatu, siis pidage meeles, et sellel arvamusel on täielik õigus eksisteerida. Ja kui teil on samuti tahtmine lisada veidi aastavahetuse meeleolu, lugege edasi väikest uut artiklit Cloud4Y-st.
Esiteks selgitan, kuidas terminali väljundit "kaunistatakse". Seda tehakse escape-järjendite abil. Täpsemalt öeldes – ANSI/VТ100 terminali juhtivate koodide jada. Mis automaatselt tähendab, et teie terminali emulaator peab seda standardit toetama, vastasel juhul ei juhtu midagi aastavahetuse imelist. Ja jah, eeldatakse, et teie $SHELL on bash.
Escape-järjendeid nimetatakse niimoodi, kuna igaühe ees on ASCII-märk "escape". Juhtivaid järjestusi on palju ning need võimaldavad näiteks terminali seadistusi välja trükkida, kursori kuvamist ja liikumist juhtida, fonti muuta, teksti kustutada ja peita. Me valime kogu selle mitmekesisuse hulgast ühe – teksti ja taustavärvi muutmise.
Sooritame koodijärjendi *ESC*[{attr1};...;{attrn}m
Tähisena Escape kasutatakse selle kaheksandikku, see tähendab 33. Mis puudutab atribuute, siis siin on lühike nimekiri võimalikest väärtustest:
0 Kustuta kõik atribuudid
1 Bright (kõrgendatud heledus)
2 Dim (tumeda tooniga)
4 Underscore (alajoonimine)
5 Blink (säramine)
7 Reverse (invertimine)
8 Hidden (teksti varjamine)
Foreground Colours (tindi värvid, millega trükitakse tekst):
30 Black (must)
31 Red (punane)
32 Green (roheline)
33 Yellow (kollane)
34 Blue (sinine)
35 Magenta (lillat värv)
36 Cyan (sinakasroheline)
37 White (valge)
Background Colours (paberi värvid, ehk taustavärvid):
40 Black (must)
41 Red (punane)
42 Green (roheline)
43 Yellow (kollane)
44 Blue (sinine)
45 Magenta (lillat värv)
46 Cyan (sinakasroheline)
47 White (valge)
Pange tähele, et kui nüüd käsite terminalis: echo 33[0;31mmingi tekst 33[0m’
… siis saate prognoositavalt monohromaatilise abacadabra:

Miks? Sest oli vaja kasutada echo käsu laiendatud võimalusi. Piisab, kui lisada üks väike võtmeelement: echo -e ‘ 33[0;31mmingi tekst 33[0m’
Nüüd näeb väljund õigesti välja:
![]()
Terminali väljundi värvimisega oleme valmis. Nüüd vaatame, kuidas värvida käsurida.
Seda tehakse muutes PS1 muutujat. Muutuja vastutab käsuviiba eest. Selle välimust saab samuti muuta, sealhulgas escape-järjestuste abil. Kuid on üks väike erinevus: järjestus tuleb alustada sümboliga “[”, ja lõpetada sümboliga “]”, vastasel juhul kuvatakse see terminalis.
Kõik võimalikud käsurea järjestused on põhjalikult kirjeldatud bash käsiraamatus, nii et soovitan lugeda, et valida, mida teile meeldib käsuviibas näha. Näiteks toon oma PS1 muutuja väärtuse:
[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n
Tõlgendan seda kohutavat loitsu:
[ 33[34;1m] — lülitame sisse helesinise (teine atribuut) fondi värvi
t – kuvame praeguse aja vormingus HH:MM:SS
[ 33[0m] – lähtestame fondi värvi seaded
, — lihtsalt koma (üllatus, eks?)
[ 33[32m] — lülitame sisse rohelise fondi värvi
u@l@h – kuvame kasutajanime, terminali seadme numbri ja lühikese hostinime, eraldades sümboliga “@”
[ 33[0m] — lähtestame jälle fondi värvi seaded
: — lihtsalt koolon (üllatus!)
[ 33[33m] — lülitame sisse kollase fondi värvi
W – kuvame praeguse katalooge nime
[ 33[0m] — jälle lähtestame fondi värvi seaded
, — veel üks koma (kes oleks võinud arvata!)
[ 33[31m] — lülitame sisse punase fondi värvi
! — kuvame käsu numbri terminalis
[ 33[0m] — ärge unustage lähtestada fondi värvi seadeid
$ — kuvame “#” root jaoks ja “$” kõigi teiste jaoks
n – reavahetus. Miks? Selleks, et käsk hakkaks vasakult servast, mitte käsuviiba lõpppositsioonilt.
Kus määratleda muutuja? Loogiliselt on seda mõistlik teha ~/.bashrc failis.
Käsuviiba välimus on piiratud vaid teie fantaasiaga. Tegelikult ei takista teid miski, et ülaltoodud tööriistade abil luua käsuviiba kujundust kuusepuu näol. Tõsi, selline käsuviib on üsna kohmakas ja töö mugavus ei parane. Kuusepuu võiks lihtsalt kuvada käsuviiba kohal sisse logimisel (niikuinii peame redigeerima ~/.bashrc). Tõstke julgelt! Ja tänan tähelepanu eest.

Mida veel huvitavat blogis lugeda
→
→
→
→
→
Liituge meiega -kanal, et mitte jääda ilma järgnevast artiklist! Kirjutame mitte sagedamini kui kaks korda nädalas ja ainult olulistest asjadest. Samuti meenutame, et ettevõtte pilveteenuse pakkuja Cloud4Y on käivitanud kampaania «Pilv FZ-152 tavalise hinna eest». Taotluse esitamine on võimalik .
Allikas: habr.com
