Božično drevo v ukazni vrstici

Prihaja novo leto, nočem več razmišljati o resnem delu.

Vsi se trudijo nekaj okrasiti za praznik: dom, pisarno, delovno mesto ... Okrasimo nekaj tudi mi! Na primer ukazna vrstica. Do neke mere je ukazna vrstica tudi delovno mesto.

V nekaterih distribucijah je že "okrašen":

Božično drevo v ukazni vrstici

V drugih je siv in neopazen:

Božično drevo v ukazni vrstici

In lahko naredimo na primer takole:

Božično drevo v ukazni vrstici

Seveda so vsi markerji različnih okusov in barv. Če se vam takšno barvanje zdi neokusno in neprimerno, potem vedite, da ima to stališče vso pravico do življenja. In če želite tudi vi dodati malo novoletnega duha, preberite kratek novoletni članek iz Cloud4Y.

Najprej bom razložil, kako je izhod terminala "obarvan". To se izvede z uporabo ubežnih zaporedij. Ali natančneje, sekvence krmilnih kod terminala ANSI/VT100. Kar samodejno pomeni, da mora vaš terminalski emulator podpirati ta standard, sicer se novoletni čudež ne bo zgodil. In ja, predpostavlja se, da je $SHELL vaš udarec.

Ti ukazi se imenujejo ubežna zaporedja, ker je na začetku vsakega od njih znak ASCII »escape«. Kontrolnih zaporedij je veliko in omogočajo na primer prikaz nastavitev terminala, nadzor prikaza in premikanja kazalca, spreminjanje pisave, brisanje in skrivanje besedila. Med vsemi možnostmi bomo izbrali eno - spreminjanje barve besedila in ozadja.

Izvedite kodno zaporedje *ESC*[{attr1};...;{attrn}m
Kot simbol Escape uporablja se njegova osmiška oblika, tj 33. Kar zadeva atribute, je tukaj kratek seznam možnih vrednosti:

0 Ponastavi vse atribute
1 Bright (povečana svetlost)
2 Dim
4 Podčrtaj
5 Utripaj
7 Vzvratno
8 Skrito (skrij besedilo)

Barve ospredja (barva peresa, besedilo je prikazano v tej barvi):
30 Črna
31 rdeča
32 Zelena
33 Rumena
34 Modra
35 magenta (magenta)
36 Cyan (modra)
37 bela (белый)

Barve ozadja (barva papirja ali barva ozadja):
40 Črna
41 rdeča
42 Zelena
43 Rumena
44 Modra
45 magenta (magenta)
46 Cyan (modra)
47 bela (белый)

Upoštevajte, da če zdaj ukaz v terminalu: echo 33[0;31mнекоторый текст 33[0m’

... potem boste predvidljivo dobili enobarvni gobbledygook na izhodu:

Božično drevo v ukazni vrstici

Zakaj? Ker je bilo treba uporabiti napredne zmožnosti ukaza echo. Dovolj je dodati en ključ: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Izhod bo zdaj videti pravilen:

Božično drevo v ukazni vrstici

Uredili smo barvo izhoda v terminal. Zdaj pa poglejmo, kako pobarvati ukazni poziv.

To storite tako, da spremenite spremenljivko PS1. Spremenljivka je odgovorna za ukazno vrstico. Njegov videz je mogoče tudi spremeniti, vključno z uporabo ubežnih zaporedij. Vendar obstaja majhna razlika: zaporedje morate začeti s simbolom "[«, in se konča s simbolom »]«, sicer bo izhod v terminal.

Vsa možna zaporedja ukazov so podrobno opisana v priročniku za bash, zato bralce vabim, da si sami izberejo, kaj želijo videti v pozivu ukazne vrstice. Kot primer bom dal svojo vrednost za spremenljivko PS1:

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

Dešifriral bom ta strašni urok:

[ 33[34;1m] — vključi svetlo modro (drugi atribut) barvo pisave
t – prikaz trenutnega časa v obliki HH: MM: SS
[ 33[0m] – ponastavite nastavitve barve pisave
, - samo vejica (nepričakovano, kajne?)
[ 33[32m] — vklopite zeleno barvo pisave
u@l@h – prikaz uporabniškega imena, številke terminalske naprave in kratkega imena gostitelja, ločenih s simbolom “@”.
[ 33[0m] — znova ponastavite nastavitve barve pisave
: - samo dvopičje (nenadoma!)
[ 33[33m] — vklopite rumeno barvo pisave
W – prikaz imena trenutnega imenika
[ 33[0m] — znova ponastavite nastavitve barve pisave
, - še ena vejica (kdo bi si mislil!)
[ 33[31m] — vklopite rdečo barvo pisave
! — prikaz številke ukaza v terminalu
[ 33[0m] - ne pozabite ponastaviti nastavitev barve pisave
$ — natisnite “#” za root in “$” za vse ostale
n - vrstični prevod. Za kaj? Tako da se ukaz začne na levem robu okna in ne na koncu poziva ukazne vrstice.

Kje redefinirati spremenljivko? Najbolj logično mesto za to je ~/.bashrc.

Videz vabila je omejen le z vašo domišljijo. Načeloma vam nič ne preprečuje, da bi z zgoraj opisanimi orodji naredili ukazno vrstico v obliki božičnega drevesa. Res je, da bo takšno povabilo zelo okorno in delo zagotovo ne bo postalo bolj priročno. Božično drevo je lahko preprosto prikazano nad ukazno vrstico ob prijavi (še vedno moramo urediti ~/.bashrc). Pojdi! In hvala za vašo pozornost.

Božično drevo v ukazni vrstici

Kaj še lahko preberete na blogu? Cloud4Y

Nastavitev vrha v GNU/Linux
Pentesterji v ospredju kibernetske varnosti
Startupi, ki znajo presenetiti
Ali so v podatkovnem centru potrebne blazine?
Hiša, ki jo je zgradil robot

Naročite se na našo Telegram-kanal, da ne zamudite naslednjega članka! Pišemo največ dvakrat na teden in samo poslovno. Spomnimo vas tudi, da je korporativni ponudnik oblakov Cloud4Y začel s promocijo »FZ-152 Cloud po redni ceni«. Lahko se prijavite do 31. decembra.

Vir: www.habr.com

Dodaj komentar