Kalėdų eglutė komandinėje eilutėje

Artėja Naujieji metai, nebenoriu galvoti apie rimtus darbus.

Visi stengiasi ką nors papuošti šventei: namus, biurą, darbo vietą... Papuoškime ir mes! Pavyzdžiui, komandinės eilutės eilutė. Tam tikru mastu komandų eilutė taip pat yra darbo vieta.

Kai kuriuose platinimuose jis jau yra „papuoštas“:

Kalėdų eglutė komandinėje eilutėje

Kituose jis yra pilkas ir nepastebimas:

Kalėdų eglutė komandinėje eilutėje

Ir mes galime padaryti, pavyzdžiui, taip:

Kalėdų eglutė komandinėje eilutėje

Žinoma, visi žymekliai yra skirtingų skonių ir spalvų. Jei toks dažymas jums atrodo lipnus ir netinkamas, žinokite, kad šis požiūris turi visą teisę į gyvybę. Ir jei taip pat norite pridėti šiek tiek Naujųjų metų dvasios, skaitykite trumpą Naujųjų metų straipsnį iš „Cloud4Y“.

Pirmiausia paaiškinsiu, kaip terminalo išvestis yra „spalvota“. Tai atliekama naudojant pabėgimo sekas. O tiksliau – ANSI/VT100 terminalo valdymo kodų sekos. O tai automatiškai reiškia, kad jūsų terminalo emuliatorius turi palaikyti šį standartą, kitaip Naujųjų metų stebuklas neįvyks. Ir taip, manoma, kad $SHELL yra jūsų bash.

Šios komandos vadinamos pabėgimo sekomis, nes kiekvienos iš jų pradžioje yra ASCII simbolis „escape“. Valdymo sekų yra daug ir jos leidžia, pavyzdžiui, rodyti terminalo nustatymus, valdyti žymeklio rodymą ir judėjimą, keisti šriftą, ištrinti ir slėpti tekstą. Pasirinksime vieną iš daugybės galimybių – keičiant teksto ir fono spalvą.

Vykdykite kodų seką *ESC*[{attr1};...;{attrn}m
Kaip simbolis Pabegti vartojama jo aštuntainė forma, tai yra 33. Kalbant apie atributus, čia yra trumpas galimų reikšmių sąrašas:

0 Iš naujo nustatyti visus atributus
1 Ryškus (padidėjęs ryškumas)
2 Pritemdyti
4 Pabrėžti
5 Mirksėti
7 Atvirkščiai
8 Paslėptas (slėpti tekstą)

Priekinio plano spalvos (rašinėjimo spalva, tekstas rodomas šia spalva):
30 Juoda
31 Raudona
32 Žalias
33 Geltona
34 Mėlyna
35 Magenta (rausvai raudona)
36 Žydra (mėlyna)
37 Baltas

Fono spalvos (popieriaus spalva arba fono spalva):
40 Juoda
41 Raudona
42 Žalias
43 Geltona
44 Mėlyna
45 Magenta (rausvai raudona)
46 Žydra (mėlyna)
47 Baltas

Atminkite, kad jei dabar įsakysite terminale: echo 33[0;31mнекоторый текст 33[0m’

...tada išvestyje gausite vienspalvį gobbledygook:

Kalėdų eglutė komandinėje eilutėje

Kodėl? Nes reikėjo pasinaudoti pažangiomis echo komandos galimybėmis. Pakanka pridėti vieną raktą: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Išvestis dabar atrodys teisinga:

Kalėdų eglutė komandinėje eilutėje

Mes sutvarkėme išvesties į terminalą spalvą. Dabar pažiūrėkime, kaip nuspalvinti komandų eilutę.

Tai daroma pakeičiant PS1 kintamąjį. Kintamasis yra atsakingas už komandinės eilutės eilutę. Jo išvaizda taip pat gali būti pakeista, įskaitant pabėgimo sekas. Tačiau yra nedidelis skirtumas: seką reikia pradėti simboliu „[“ ir baigiasi simboliu „]“, kitaip jis bus išvestas į terminalą.

Visos galimos komandų sekos yra išsamiai aprašytos bash vadove, todėl kviečiu skaitytojus patiems pasirinkti, ką jie nori matyti komandų eilutės eilutėje. Kaip pavyzdį pateiksiu savo PS1 kintamojo vertę:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Iššifruosiu šį baisų burtą:

[ 33 [34;1 m] — įjungti ryškiai mėlyną (antras atributas) šrifto spalvą
t – rodyti esamą laiką formatu HH: MM: SS
[ 33[0 m] – iš naujo nustatyti šrifto spalvų nustatymus
, - tik kablelis (netikėtas, tiesa?)
[ 33[32 m] - įjungti žalią šrifto spalvą
u@l@h – rodyti vartotojo vardą, galinio įrenginio numerį ir trumpąjį pagrindinio kompiuterio pavadinimą, atskirtus simboliu „@“.
[ 33[0 m] — iš naujo nustatykite šrifto spalvos nustatymus
: - tik dvitaškis (staiga!)
[ 33[33 m] - įjungti geltoną šrifto spalvą
W – rodyti dabartinio katalogo pavadinimą
[ 33[0 m] — iš naujo nustatykite šrifto spalvos nustatymus
, - dar vienas kablelis (kas galėjo pagalvoti!)
[ 33[31 m] — įjungti raudoną šrifto spalvą
! — terminale parodyti komandos numerį
[ 33[0 m] - nepamirškite iš naujo nustatyti šrifto spalvų nustatymų
$ — spausdinkite „#“ šakninei šaknei ir „$“ visiems kitiems
n - eilutės vertimas. Kam? Kad komanda prasidėtų kairiajame lango krašte, o ne komandinės eilutės eilutės pabaigoje.

Kur iš naujo apibrėžti kintamąjį? Logiškiausia vieta tai padaryti yra ~/.bashrc.

Kvietimo išvaizdą riboja tik jūsų vaizduotė. Iš esmės niekas netrukdo jums sukurti komandinės eilutės eilutę Kalėdų eglutės pavidalu naudojant aukščiau aprašytus įrankius. Tiesa, toks kvietimas bus labai varginantis, o ir darbas tikrai netaps patogesnis. Kalėdų eglutė gali būti tiesiog rodoma virš komandinės eilutės eilutės prisijungiant (dar reikia redaguoti ~/.bashrc). Pirmyn! Ir ačiū už dėmesį.

Kalėdų eglutė komandinėje eilutėje

Ką dar galite perskaityti tinklaraštyje? Cloud4Y

„Top“ konfigūravimas GNU/Linux
Pentestuotojai kibernetinio saugumo priešakyje
Startuoliai, kurie gali nustebinti
Ar duomenų centre reikalingos pagalvės?
Namas, kurį pastatė robotas

Užsiprenumeruokite mūsų Telegram-kanalas, kad nepraleistumėte kito straipsnio! Rašome ne dažniau kaip du kartus per savaitę ir tik darbo reikalais. Taip pat primename, kad įmonių debesų tiekėjas Cloud4Y pradėjo akciją „FZ-152 Cloud už įprastą kainą“. Galite kreiptis iki gruodžio 31 d.

Šaltinis: www.habr.com

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster