Stromček v príkazovom riadku

Nový rok sa blíži a už sa nám nechce myslieť na serióznu prácu.

Všetci sa snažia niečo ozdobiť na sviatky: dom, kanceláriu, pracovné miesto… Poďme aj my niečo ozdobiť! Napríklad príkazový riadok. V istom zmysle je príkazový riadok tiež pracovným miestom.

V niektorých distribúciách je už "ozdobený":

Stromček v príkazovom riadku

V iných je šedý a nenápadný:

Stromček v príkazovom riadku

A my môžeme spraviť napríklad toto:

Stromček v príkazovom riadku

Samozrejme, každý má iný vkus. Ak vám táto „výzdoba“ príde nevhodná a prehnaná, vedzte, že tento názor má úplné právo na existenciu. A ak chcete pridať trochu vianočnej atmosféry, prečítajte si ďalej krátky vianočný článok od Cloud4Y.

Na začiatok vysvetlím, ako sa "vyfarbuje" výstup terminálu. Robí sa to pomocou escape sekvencií. A presnejšie, ide o ovládacie kódové sekvencie terminálu ANSI/VT100. To automaticky znamená, že váš terminálový emulátor musí tento štandard podporovať, inak sa vianočné čudo nestane. A áno, predpokladá sa, že $SHELL máte bash.

Tieto príkazy sa nazývajú escape sekvenciami z dôvodu, že na začiatku každej z nich je ASCII symbol "escape". Ovládacích sekvencií je veľa a umožňujú, napríklad, zobraziť nastavenia terminálu, spravovať zobrazenie a pohyb kurzora, meniť písmo, mazať a skrývať text. My z celého množstva možností vyberieme jednu — zmenu farby textu a pozadia.

Vykonajte kódovú sekvenciu *ESC*[{attr1};...;{attrn}m
Ako symbol Escape sa používa jeho osmičná forma, to znamená 33. Čo sa týka atribútov, tu je stručný zoznam možných hodnôt:

0 Resetovať všetky atribúty
1 Bright (zvýšená jasnosť)
2 Dim (temnejší)
4 Underscore (podčiarknutie)
5 Blink (blikajúci)
7 Reverse (inverzia)
8 Hidden (skryť text)

Farby popredia (farba pera, touto farbou sa vypisuje text):
30 Black (čierna)
31 Red (červena)
32 Green (zelená)
33 Yellow (žltá)
34 Blue (modrá)
35 Magenta (purpurová)
36 Cyan (azúrová)
37 White (biela)

Farby pozadia (farba papiera alebo farba pozadia):
40 Black (čierna)
41 Red (červena)
42 Green (zelená)
43 Yellow (žltá)
44 Blue (modrá)
45 Magenta (purpurová)
46 Cyan (azúrová)
47 White (biela)

Všimnite si, že ak teraz zadáte príkaz v termináli: echo 33[0;31mnejaký text 33[0m’

… tak neočakávane dostanete na výstupe monochromatickú abrakadabra:

Stromček v príkazovom riadku

Prečo? Pretože bolo potrebné využiť rozšírené možnosti príkazu echo. Stačí pridať jeden parameter: echo -e ' 33[0;31mnejaký text 33[0m'

Teraz bude výstup vyzerať správne:

Stromček v príkazovom riadku

S farebnosťou výstupu na termináli sme sa vysporiadali. Teraz sa pozrime, ako farebne prispôsobiť príkazový riadok.

Toto sa robí zmenou premennej PS1. Premenná je zodpovedná za príkazový riadok. Jej vzhľad sa dá taktiež upravovať, vrátane použitia escape sekvencií. Ale je tu jeden malý rozdiel: sekvenciu treba začať znakom “[”, a skončiť znakom “]”, inak bude vytlačená na termináli.

Všetky možné príkazové sekvencie sú podrobne opísané v manuáli pre bash, takže navrhujem čitateľom, aby si samostatne vybrali, čo by im viac vyhovovalo vidieť v príkazovom riadku. Ako príklad uvádzam svoju hodnotu premennej PS1:

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

Rozšifrujem túto strašidelnú zaklínaciu formulku:

[ 33[34;1m] — zapneme jasnú modrú (druhý atribút) farbu písma
t – vypisujeme aktuálny čas vo formáte HH:MM:SS
[ 33[0m] – reset farby písma
, — len čiarka (prekvapujúce, však?)
[ 33[32m] — zapneme zelenú farbu písma
u@l@h – vypisujeme meno používateľa, číslo terminálového zariadenia a skratku názvu hostiteľa, oddelené znakom “@”
[ 33[0m] — opäť resetujeme nastavenie farby písma
: — len dvojbodka (náhle!)
[ 33[33m] — zapneme žltú farbu písma
W – vypisujeme meno aktuálneho adresára
[ 33[0m] — znova resetujeme nastavenie farby písma
, — ďalšia čiarka (kto by to povedal!)
[ 33[31m] — zapneme červenú farbu písma
! — vypisujeme číslo príkazu v termináli
[ 33[0m] — nezabudnite resetovať nastavenie farby písma
$ — vypisujeme “#” pre root a “$” pre všetkých ostatných
n – posun na nový riadok. Prečo? Aby príkaz začínal na ľavej strane okna, a nie na pozícii konca príkazového riadku.

Kde predefinovať premennú? Logickejšie to urobiť v ~/.bashrc.

Vzhľad príkazového riadku je obmedzený iba vašou fantáziou. V zásade vám nič nebráni, aby ste pomocou vyššie opísaného nástroja vytvorili príkazový riadok v tvare vianočného stromčeka. Pravda, takéto pozvanie bude veľmi objemné a práca určite nebude komfortnejšia. Stromček môžete jednoducho vypísať nad príkazový riadok pri prihlásení (aj tak musíme upraviť ~/.bashrc). Držte sa! A ďakujem za pozornosť.

Stromček v príkazovom riadku

Čo ďalšie užitočné si môžete prečítať na blogu Cloud4Y

→ Nastavujeme top v GNU/Linux
→ Pentesteri na prednej línii kybernetickej bezpečnosti
→ Startupy, ktoré môžu prekvapiť
→ Potrebujú dátové centrá podušky?
→ Dom, ktorý postavil robot

Prihláste sa na náš Telegram-kanál, aby ste nezmeškali ďalší článok! Píšeme najviac dvakrát týždenne a len po veci. Taktiež pripomíname, že korporátny cloudový poskytovateľ Cloud4Y spustil akciu „Oblak FZ-152 za cenu obyčajného“. Žiadosť môžete podať do 31. decembra.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster