Siġra tal-Milied fuq il-linja tal-kmand

Is-Sena l-Ġdida ġejja, ma rridx naħseb aktar dwar xogħol serju.

Kulħadd qed jipprova jżejjen xi ħaġa għall-festa: id-dar, l-uffiċċju, il-post tax-xogħol... Ejja nżejnu xi ħaġa wkoll! Per eżempju, linja ta 'kmand pront. Sa ċertu punt, il-linja tal-kmand hija wkoll post tax-xogħol.

F'xi distribuzzjonijiet huwa diġà "imżejjen":

Siġra tal-Milied fuq il-linja tal-kmand

F'oħrajn, huwa griż u ma jispikka:

Siġra tal-Milied fuq il-linja tal-kmand

U nistgħu nagħmlu, pereżempju, bħal dan:

Siġra tal-Milied fuq il-linja tal-kmand

Naturalment, il-markaturi kollha għandhom gosti u kuluri differenti. Jekk kulur bħal dan jidher tacky u mhux xieraq għalik, allura taf li dan il-punt ta 'opinjoni għandu kull dritt għall-ħajja. U jekk trid ukoll iżżid ftit spirtu tas-Sena, kompli aqra għal artiklu qasir tas-Sena minn Cloud4Y.

L-ewwel, ser nispjega kif l-output tat-terminal huwa "ikkulurit." Dan isir bl-użu ta 'sekwenzi ta' ħarba. Jew b'mod aktar preċiż, is-sekwenzi tal-kodiċi tal-kontroll tat-terminal ANSI/VT100. Li awtomatikament ifisser li l-emulatur tat-terminal tiegħek għandu jappoġġja dan l-istandard, inkella l-miraklu tas-Sena l-Ewwel ma jseħħx. U iva, $ SHELL hija preżunta li tkun il-bash tiegħek.

Dawn il-kmandi jissejħu sekwenzi ta 'ħarba għaliex fil-bidu ta' kull wieħed minnhom hemm karattru ASCII "ħarba". Hemm ħafna sekwenzi ta 'kontroll, u jippermettu, pereżempju, li juru s-settings tat-terminal, jikkontrollaw il-wiri u l-moviment tal-cursor, ibiddlu t-tipa, iħassru u jaħbu t-test. Aħna se nagħżlu waħda mill-varjetà kollha ta 'possibbiltajiet - nibdlu l-kulur tat-test u l-isfond.

Eżegwixxi s-sekwenza tal-kodiċi *ESC*[{attr1};...;{attrn}m
Bħala simbolu Escape tintuża l-forma ottali tagħha, jiġifieri 33. Fir-rigward tal-attributi, hawn lista qasira ta' valuri possibbli:

0 Irrisettja l-attributi kollha
1 Bright (luminożità miżjuda)
2 Dim
4 Issottolinja
5 Teptip
7 Reverse
8 Moħbija (aħbi t-test)

Kuluri ta' tagħrif miksub (kulur tal-pinna, it-test jintwera f'dan il-kulur):
30 Iswed
31 aħmar
32 Aħdar
33 Isfar
34 Blu
35 Magenta (maġenta)
36 Ċjan (blu)
37 Abjad (белый)

Kuluri tal-Isfond (kulur tal-karta, jew kulur tal-isfond):
40 Iswed
41 aħmar
42 Aħdar
43 Isfar
44 Blu
45 Magenta (maġenta)
46 Ċjan (blu)
47 Abjad (белый)

Innota li jekk issa tikkmanda fit-terminal: echo 33[0;31mнекоторый текст 33[0m’

... imbagħad inti prevedibbli se tikseb gobbledygook monokromu fl-output:

Siġra tal-Milied fuq il-linja tal-kmand

Għaliex? Minħabba li kien meħtieġ li jintużaw il-kapaċitajiet avvanzati tal-kmand tal-echo. Huwa biżżejjed li żżid ċavetta waħda: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

L-output issa se jidher korrett:

Siġra tal-Milied fuq il-linja tal-kmand

Imxejna magħżula l-kulur tal-output għat-terminal. Issa ejja naraw kif ikkulurit il-pront tal-kmand.

Dan isir billi tinbidel il-varjabbli PS1. Il-varjabbli hija responsabbli għall-pront tal-linja tal-kmand. Id-dehra tagħha tista 'wkoll tinbidel, inkluż l-użu ta' sekwenzi ta 'ħarba. Iżda hemm differenza żgħira: trid tibda s-sekwenza bis-simbolu "[”, u tispiċċa bis-simbolu “]”, inkella se joħroġ lejn it-terminal.

Is-sekwenzi kollha ta 'kmand possibbli huma deskritti fid-dettall fil-manwal tal-bash, għalhekk nistieden lill-qarrejja biex jagħżlu huma stess dak li jippreferu jaraw fil-pront tal-linja tal-kmand. Bħala eżempju, se nagħti l-valur tiegħi għall-varjabbli PS1:

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

Se niddeċifra din il-kelma terribbli:

[ 33[34;1m] — Ixgħel il-kulur tat-tipa blu jgħajjat ​​(it-tieni attribut).
t – turi l-ħin kurrenti fil-format HH: MM: SS
[ 33[0m] – Irrisettja l-issettjar tal-kulur tat-tipa
, - virgola biss (mhux mistennija, hux?)
[ 33[32m] — ixgħel il-kulur tat-tipa aħdar
u@l@h – turi l-isem tal-utent, in-numru tat-tagħmir terminali u l-isem qasir tal-host, separati bis-simbolu “@”.
[ 33[0m] — reset is-settings tal-kulur tat-tipa mill-ġdid
: - kolon biss (f'daqqa waħda!)
[ 33[33m] — ixgħel il-kulur tat-tipa isfar
W – turi l-isem tad-direttorju attwali
[ 33[0m] — reset is-settings tal-kulur tat-tipa mill-ġdid
, - virgola oħra (min kien jaħseb!)
[ 33[31m] — ixgħel il-kulur tat-tipa aħmar
! — uri n-numru tal-kmand fit-terminal
[ 33[0m] - tinsiex tirrisettja l-issettjar tal-kulur tat-tipa
$ — stampa “#” għall-għerq u “$” għal kulħadd
n - traduzzjoni tal-linja. Għalxiex? Sabiex il-kmand jibda fit-tarf tax-xellug tat-tieqa, aktar milli fl-aħħar tal-pront tal-linja tal-kmand.

Fejn tiddefinixxi mill-ġdid varjabbli? L-aktar post loġiku biex tagħmel dan huwa ~/.bashrc.

Id-dehra tal-istedina hija limitata biss mill-immaġinazzjoni tiegħek. Fil-prinċipju, xejn ma jipprevjenik milli tagħmel linja ta 'kmand fil-pront fil-forma ta' siġra tal-Milied billi tuża l-għodod deskritti hawn fuq. Veru, stedina bħal din se tkun ineffiċjenti ħafna, u x-xogħol żgur mhux se jsir aktar konvenjenti. Is-siġra tal-Milied tista 'sempliċement tintwera fuq il-pront tal-linja tal-kmand meta tidħol (għadna bżonn neditjaw ~/.bashrc). Mur għaliha! U grazzi għall-attenzjoni tiegħek.

Siġra tal-Milied fuq il-linja tal-kmand

X'iktar tista' taqra fuq il-blog? Cloud4Y

Twaqqif ta' fuq f'GNU/Linux
Pentesters minn ta' quddiem fiċ-ċibersigurtà
Startups li jistgħu jissorprendu
Huma meħtieġa mħaded f'ċentru tad-dejta?
Id-dar li bena robot

Abbona għal tagħna Telegramma-kanal sabiex ma titlifx l-artiklu li jmiss! Aħna niktbu mhux aktar minn darbtejn fil-ġimgħa u biss fuq in-negozju. Infakkruk ukoll li l-fornitur tal-cloud korporattiv Cloud4Y nieda l-promozzjoni "FZ-152 Cloud bi prezz regolari". Tista' tapplika sal-31 ta’ Diċembru.

Sors: www.habr.com

Żid kumment