Kersboom op die opdragreël

Die nuwe jaar kom, ek wil nie meer aan ernstige werk dink nie.

Almal probeer iets vir die vakansie versier: huis, kantoor, werkplek... Kom ons versier ook iets! Byvoorbeeld, 'n opdraglynprompt. In 'n mate is die opdragreël ook 'n werkplek.

In sommige verspreidings is dit reeds "versier":

Kersboom op die opdragreël

In ander is dit grys en onopvallend:

Kersboom op die opdragreël

En ons kan byvoorbeeld so doen:

Kersboom op die opdragreël

Natuurlik het alle merkers verskillende smake en kleure. As sulke kleure vir jou taai en onvanpas lyk, weet dan dat hierdie standpunt die reg op lewe het. En as jy ook 'n bietjie nuwejaarsgees wil byvoeg, lees verder vir 'n kort nuwejaarsartikel van Cloud4Y.

Eerstens sal ek verduidelik hoe die terminale uitset "gekleur" is. Dit word gedoen deur gebruik te maak van ontsnappingsreekse. Of meer presies, die beheerkode-reekse van die ANSI/VT100-terminaal. Wat outomaties beteken dat jou terminale emulator hierdie standaard moet ondersteun, anders sal die Nuwejaar se wonderwerk nie gebeur nie. En ja, daar word aanvaar dat $SHELL jou bash is.

Hierdie opdragte word ontsnapreekse genoem, want aan die begin van elkeen van hulle is daar 'n ASCII-karakter "ontsnap". Daar is baie beheerreekse, en dit laat byvoorbeeld toe om terminale instellings te vertoon, die vertoon en beweging van die wyser te beheer, die lettertipe te verander, teks uit te vee en te versteek. Ons sal een kies uit al die verskeidenheid moontlikhede - die kleur van die teks en agtergrond verander.

Voer die kodevolgorde uit *ESC*[{attr1};...;{attrn}m
As simbool Escape sy oktale vorm word gebruik, dit wil sê 33. Wat eienskappe betref, hier is 'n kort lys van moontlike waardes:

0 Stel alle eienskappe terug
1 Helder (verhoogde helderheid)
2 Dof
4 Onderstreep
5 Knipper
7 Omgekeerde
8 Versteek (versteek teks)

Voorgrondkleure (penkleur, teks word in hierdie kleur vertoon):
30 Swart
31 Rooi
32 Groen
33 Geel
34 Blou
35 Magenta (magenta)
36 Siaan (blou)
37 Wit (белый)

Agtergrondkleure (papierkleur of agtergrondkleur):
40 Swart
41 Rooi
42 Groen
43 Geel
44 Blou
45 Magenta (magenta)
46 Siaan (blou)
47 Wit (белый)

Let daarop dat as u nou in die terminale opdrag gee: echo 33[0;31mнекоторый текст 33[0m’

...dan sal jy voorspelbaar monochroom gobbledygook by die uitset kry:

Kersboom op die opdragreël

Hoekom? Omdat dit nodig was om die gevorderde vermoëns van die eggo-opdrag te gebruik. Dit is genoeg om een ​​sleutel by te voeg: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Die uitset sal nou korrek lyk:

Kersboom op die opdragreël

Ons het die kleur van die uitset na die terminale uitgesorteer. Kom ons kyk nou hoe om die opdragprompt in te kleur.

Dit word gedoen deur die PS1-veranderlike te verander. Die veranderlike is verantwoordelik vir die command line prompt. Die voorkoms daarvan kan ook verander word, insluitend die gebruik van ontsnappingsreekse. Maar daar is 'n klein verskil: jy moet die volgorde begin met die simbool "[", en eindig met die simbool "]”, anders sal dit na die terminaal uitgevoer word.

Alle moontlike opdragreekse word in detail in die bash-handleiding beskryf, so ek nooi lesers uit om self te kies wat hulle verkies om te sien by die opdraglynprompt. As 'n voorbeeld sal ek my waarde vir die PS1-veranderlike gee:

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

Ek sal hierdie verskriklike towerspreuk ontsyfer:

[33[34;1m] - skakel helderblou (tweede kenmerk) lettertipekleur aan
t – vertoon die huidige tyd in die formaat HH: MM: SS
[33[0m] - stel fontkleurinstellings terug
, - net 'n komma (onverwags, reg?)
[33[32m] - skakel groen lettertipe kleur aan
u@l@h – vertoon die gebruikernaam, terminale toestelnommer en kort gasheernaam, geskei deur die “@”-simbool
[33[0m] - stel die fontkleurinstellings weer terug
: - net 'n dubbelpunt (skielik!)
[33[33m] - skakel geel lettertipe kleur aan
W – vertoon die naam van die huidige gids
[33[0m] - stel die fontkleurinstellings weer terug
, - nog 'n komma (wie sou gedink het!)
[33[31m] - skakel die rooi fontkleur aan
! — vertoon die opdragnommer in die terminale
[33[0m] - Moenie vergeet om die fontkleurinstellings terug te stel nie
$ - druk "#" vir root en "$" vir almal anders
n - lyn vertaling. Vir wat? Sodat die opdrag aan die linkerkant van die venster begin, eerder as aan die einde van die opdraglynprompt.

Waar om 'n veranderlike te herdefinieer? Die mees logiese plek om dit te doen is ~/.bashrc.

Die voorkoms van die uitnodiging word slegs deur jou verbeelding beperk. In beginsel verhinder niks jou om 'n opdraglyn-prompt in die vorm van 'n Kersboom te maak met die gereedskap wat hierbo beskryf word nie. So 'n uitnodiging sal weliswaar baie omslagtig wees, en werk sal beslis nie geriefliker word nie. Die Kersboom kan eenvoudig bo die opdraglyn-prompt vertoon word wanneer u aanmeld (ons moet nog ~/.bashrc wysig). Gaan vir dit! En dankie vir jou aandag.

Kersboom op die opdragreël

Wat kan jy nog op die blog lees? Wolk4Y

Konfigureer top in GNU/Linux
Pentesters aan die voorpunt van kuberveiligheid
Startups wat kan verras
Is kussings in 'n datasentrum nodig?
Die huis wat 'n robot gebou het

Teken in op ons telegram-kanaal sodat jy nie die volgende artikel mis nie! Ons skryf nie meer as twee keer per week nie en slegs vir besigheid. Ons herinner u ook daaraan dat die korporatiewe wolkverskaffer Cloud4Y die "FZ-152 Cloud teen die gewone prys"-promosie bekendgestel het. Jy kan aansoek doen tot 31 Desember.

Bron: will.com

Voeg 'n opmerking