Juletre i kommandolinjen

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":

Juletre i kommandolinjen

I andre er den grÄ og uinteressant:

Juletre i kommandolinjen

Og vi kan gjĂžre det slik:

Juletre i kommandolinjen

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:

Juletre i kommandolinjen

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:

Juletre i kommandolinjen

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.

Juletre i kommandolinjen

Hva mer nyttig kan du lese i bloggen Cloud4Y

→ Konfigurer top i GNU/Linux
→ Pentestere pĂ„ frontlinjen av cybersikkerhet
→ Oppstartsselskaper som kan overraske
→ Trenger datasentre puter?
→ Huset som roboten bygde

Abonner pÄ vÄr Telegram-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 innen 31. desember.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster