Snart er det nyttÄr, og det fÞles ikke som tid for seriÞst arbeid.
Alle prÞver Ä pynte til hÞytiden: hjemmet, kontoret, arbeidsplassen⊠La oss ogsÄ pynte noe! For eksempel kommandolinjen. PÄ en mÄte er kommandolinjen ogsÄ et arbeidsomrÄde.
I noen distribusjoner er den allerede "pyntet":

I andre er den grÄ og uinteressant:

Og vi kan gjĂžre det slik:

SelvfÞlgelig har enhver smak og farge sine egne meninger. Hvis denne type dekorasjon virker tasteless eller upassende for deg, er det helt greit. Men hvis du ogsÄ Þnsker Ä legge til litt nyttÄrsstemning, les videre en liten nyttartsartikkel fra Cloud4Y.
La meg fĂžrst forklare hvordan terminalutgangen "pynte." Dette gjĂžres ved hjelp av escape-sekvenser. Mer presist â kontrollkode sekvenser av ANSI/VT100 terminalen. Dette betyr automatisk at terminalemulatoren din mĂ„ stĂžtte denne standarden, ellers vil det ikke skje noe nyttĂ„rsunder. Og ja, jeg antar at $SHELL er bash.
De kaller disse kommandoene escape-sekvenser fordi de begynner med ASCII-tegnet "escape". Det finnes mange kontrollsekvenser, og de lar deg for eksempel vise terminalinnstillinger, styre visning og bevegelse av markĂžren, endre skrifttype, slette og skjule tekst. Vi skal imidlertid velge en av de mange mulighetene - Ă„ endre tekst- og bakgrunnsfarge.
KjĂžr kode-sekvensen *ESC*[{attr1};...;{attrn}m
Som tegn Escape brukes dens oktale form, altsÄ 33. NÄr det gjelder attributtene, her er en kort liste over mulige verdier:
0 Tilbakestill alle attributter
1 Bright (Ăžkt lysstyrke)
2 Dim (demping)
4 Underscore (understrek)
5 Blink (blinking)
7 Reverse (inversjon)
8 Hidden (skjule tekst)
Foreground Colours (farge pÄ pennen, som brukes til Ä vise tekst):
30 Black (svart)
31 Red (rĂžd)
32 Green (grĂžnn)
33 Yellow (gul)
34 Blue (blÄ)
35 Magenta (magenta)
36 Cyan (cyan)
37 White (hvit)
Background Colours (papirfarge, eller bakgrunnsfarge):
40 Black (svart)
41 Red (rĂžd)
42 Green (grĂžnn)
43 Yellow (gul)
44 Blue (blÄ)
45 Magenta (magenta)
46 Cyan (cyan)
47 White (hvit)
VĂŠr oppmerksom pĂ„ at hvis du nĂ„ gir kommandoen i terminalen: echo 33[0;31mnoe tekst 33[0mâ
⊠vil du forutsigbart fÄ utdata som ser ut som monokromatisk abrakadabra:

Hvorfor? Fordi du mĂ„tte ha brukt de utvidede mulighetene til echo-kommanden. Det er nok Ă„ legge til en liten nĂžkkel: echo -e â 33[0;31meter tekst 33[0mâ
No verting vil sjÄ riktig ut:
![]()
Vi har fiksa utskriftsfargen pÄ terminalen. No skal vi sjÄ pÄ korleis vi kan fargelegge kommandolinjeledningen.
Dette gjer vi ved Ă„ endre PS1-variabelen. Variabelen bestemmer utseendet pĂ„ kommandolinjeledningen. Det er ogsĂ„ mogleg Ă„ endre utseendet ved hjelp av escape-sekvenser. Men det er ei lita forskjell: sekvensen mĂ„ startast med teiknet â[â, og avsluttast med teiknet â]â, elles vil den bli skrive ut i terminalen.
Alle moglegheiter for kommandosekvenser er detaljert beskrevet i bash-manualen, sÄ eg foreslÄr at lesarane vel sjÞlv kva dei likar Ä sjÄ i kommandolinjeledningen. Som eit eksempel vil eg ta mitt PS1-verdi:
[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n
Eg vil avkoda denne skumle formelen:
[ 33[34;1m] â aktiverer lyseblĂ„ (andre attributt) skriftefarge
t â viser noverande tid i formatet TT:MM:SS
[ 33[0m] â tilbakestiller skriftefargen
, â berre eit komma (forbausande, ikkje sant?)
[ 33[32m] â aktiverer grĂžnn skriftefarge
u@l@h â viser brukarnavnet, terminalens nummer og kortnamnet til verten, skilt med teiknet â@â
[ 33[0m] â tilbakestiller igjen skriftefargen
: â berre ein kolon (overraskande!)
[ 33[33m] â aktiverer gul skriftefarge
W â viser namnet pĂ„ den gjeldande katalogen
[ 33[0m] â tilbakestiller skriftefargen
, â ein annan komma (kven skulle ha trudd!)
[ 33[31m] â aktiverer raud skriftefarge
! â viser nummeret pĂ„ kommanden i terminalen
[ 33[0m] â ikkje glĂžym Ă„ tilbakestilla skriftefargen
$ â viser â#â for root og â$â for alle andre
n â byrjar pĂ„ ny linje. Kvifor? For at kommanden skal starte pĂ„ venstre kant av vindauget, og ikkje pĂ„ slutten av kommandolinjeledningen.
Kvar kan eg overstyre variabelen? Det er mest logisk Ă„ gjere det i ~/ .bashrc.
Utseendet pÄ kommandolinjeledningen er berre begrensa av fantasien din. I prinsippet er det ingenting som hindrar deg i Ä bruke verktÞya ovanfor for Ä lage ei kommandolinjeledning som ser ut som eit juletre. Men denne typen ledning vil bli veldig klumpete, og det vil ikkje bli enklare Ä jobbe. Treverket kan enkelt printast over kommandolinjeledningen nÄr du loggar inn (vi mÄ sÄ eller sÄ editerer ~/ .bashrc). Gjer det! Og takk for merksemda.

Hva mer nyttig kan du lese i bloggen
â
â
â
â
â
Abonner pÄ vÄr -kanal, so du ikke gÄr glipp av den neste artikkelen! Vi skriver ikke oftere enn to ganger i uken og bare nÄr det er viktig. Vi minner ogsÄ om at det bedriftsmessige skytilbyderen Cloud4Y har lansert kampanjen «Sky FZ-152 til vanlig pris». Du kan sende inn en sÞknad .
Kilde: habr.com
