Пәрмен жолындағы шырша

Жаңа жыл келе жатыр, мен енді күрделі жұмыс туралы ойлағым келмейді.

Барлығы мерекеге бірдеңе безендіруге тырысады: үй, кеңсе, жұмыс орны... Біз де бірдеңені безендірейік! Мысалы, пәрмен жолы шақыруы. Белгілі бір дәрежеде пәрмен жолы да жұмыс орны болып табылады.

Кейбір дистрибутивтерде ол қазірдің өзінде «безенді»:

Пәрмен жолындағы шырша

Басқаларында ол сұр және көрінбейді:

Пәрмен жолындағы шырша

Және біз, мысалы, келесідей жасай аламыз:

Пәрмен жолындағы шырша

Әрине, барлық маркерлердің дәмі мен түсі әртүрлі. Егер мұндай бояу сізге жабысқақ және орынсыз болып көрінсе, онда бұл көзқарастың өмір сүруге толық құқығы бар екенін біліңіз. Егер сіз де жаңа жылдық рухты қосқыңыз келсе, Cloud4Y-тен жаңа жылдық қысқаша мақаланы оқыңыз.

Алдымен мен терминал шығысының қалай «түсті» екенін түсіндіремін. Бұл қашу реті арқылы орындалады. Немесе дәлірек айтқанда, ANSI/VT100 терминалының басқару кодының реттілігі. Бұл автоматты түрде терминал эмуляторы осы стандартты қолдауы керек дегенді білдіреді, әйтпесе жаңа жылдық керемет болмайды. Иә, $SHELL сіздің bash деп есептеледі.

Бұл командалар қашу реті деп аталады, өйткені олардың әрқайсысының басында ASCII «қашу» таңбасы болады. Көптеген басқару тізбектері бар және олар, мысалы, терминалдық параметрлерді көрсетуге, курсордың дисплейін және қозғалысын басқаруға, қаріпті өзгертуге, мәтінді жоюға және жасыруға мүмкіндік береді. Біз әртүрлі мүмкіндіктердің бірін таңдаймыз - мәтін мен фон түсін өзгерту.

Код тізбегін орындаңыз *ESC*[{attr1};...;{attrn}m
Символ ретінде қашу оның сегіздік түрі қолданылады, яғни 33. Атрибуттарға келетін болсақ, мұнда ықтимал мәндердің қысқаша тізімі берілген:

0 Барлық атрибуттарды қалпына келтіріңіз
1 Жарқын (жарықтықты арттыру)
2 Күңгірт
4 Астын сызу
5 Жыпылықтау
7 Кері
8 Жасырын (мәтінді жасыру)

Алдыңғы фон түстері (қалам түсі, мәтін осы түсте көрсетіледі):
30 Қара
31 Қызыл
32 Жасыл
33 Сары
34 Көк
35 Қызыл (қызыл қызыл)
36 Көгілдір (көк)
37 Ақ

Фон түстері (қағаз түсі немесе фон түсі):
40 Қара
41 Қызыл
42 Жасыл
43 Сары
44 Көк
45 Қызыл (қызыл қызыл)
46 Көгілдір (көк)
47 Ақ

Назар аударыңыз, егер сіз қазір терминалда пәрмен берсеңіз: echo 33[0;31mнекоторый текст 33[0m’

... сонда сіз болжамды түрде шығуда монохромды gobbledygook аласыз:

Пәрмен жолындағы шырша

Неліктен? Өйткені echo командасының кеңейтілген мүмкіндіктерін пайдалану қажет болды. Бір кілтті қосу жеткілікті: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Шығару енді дұрыс көрінеді:

Пәрмен жолындағы шырша

Терминалға шығарылатын өнімнің бояуын сұрыптадық. Енді пәрмен жолын қалай бояуға болатынын көрейік.

Бұл PS1 айнымалысын өзгерту арқылы жасалады. Айнымалы пәрмен жолы сұрауына жауап береді. Оның сыртқы түрін, соның ішінде қашу ретін пайдалану арқылы өзгертуге болады. Бірақ шамалы айырмашылық бар: кезекті «таңбасынан бастау керек.[” және “ таңбасымен аяқталады]”, әйтпесе ол терминалға шығарылады.

Барлық ықтимал пәрмен тізбегі bash нұсқаулығында егжей-тегжейлі сипатталған, сондықтан мен оқырмандарды пәрмен жолы жолында не көргісі келетінін өздері таңдауға шақырамын. Мысал ретінде PS1 айнымалысы үшін өз мәнімді беремін:

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

Мен бұл қорқынышты сиқырдың шифрын ашамын:

[33[34;1м] — ашық көк (екінші атрибут) қаріп түсін қосыңыз
t – ағымдағы уақытты HH: MM: SS форматында көрсету
[33[0м] – қаріп түсінің параметрлерін қалпына келтіру
, - жай ғана үтір (күтпеген, солай ма?)
[33[32м] — жасыл қаріп түсін қосыңыз
u@l@h – «@» белгісімен бөлінген пайдаланушы атын, терминалдық құрылғы нөмірін және қысқа хост атауын көрсету
[33[0м] — қаріп түсінің параметрлерін қайтадан қалпына келтіріңіз
: - жай қос нүкте (кенеттен!)
[33[33м] — сары қаріп түсін қосу
W – ағымдағы каталогтың атын көрсету
[33[0м] — қаріп түсінің параметрлерін қайтадан қалпына келтіріңіз
, - басқа үтір (кім ойлаған!)
[33[31м] — қызыл шрифт түсін қосыңыз
! — терминалда пәрмен нөмірін көрсету
[33[0м] - қаріп түсінің параметрлерін қалпына келтіруді ұмытпаңыз
$ — түбір үшін «#» және қалғандары үшін «$» басып шығарыңыз
n - жолдық аударма. Не үшін? Осылайша пәрмен пәрмен жолы шақыруының соңында емес, терезенің сол жақ шетінен басталады.

Айнымалыны қай жерде қайта анықтау керек? Мұны істеудің ең логикалық орны ~/.bashrc.

Шақырудың сыртқы түрі тек сіздің қиялыңызбен шектеледі. Негізінде, жоғарыда сипатталған құралдарды пайдалана отырып, шырша түрінде пәрмен жолын шақыруға ештеңе кедергі болмайды. Рас, мұндай шақыру өте қиын болады және жұмыс оңайға түспейді. Жаңа жылдық шыршаны жүйеге кірген кезде пәрмен жолы сұрауының үстінде көрсетуге болады (біз әлі де ~/.bashrc өңдеуіміз керек). Тырыс осыған! Және назарларыңызға рахмет.

Пәрмен жолындағы шырша

Блогта тағы не оқуға болады? Cloud4Y

GNU/Linux жүйесінде жоғарғы орнату
Пентестер киберқауіпсіздіктің алдыңғы қатарында
Таң қалдыратын стартаптар
Деректер орталығында жастықтар қажет пе?
Робот салған үй

Біздің жазылым TelegramКелесі мақаланы жіберіп алмау үшін арна! Біз аптасына екі реттен көп емес және тек бизнесте жазамыз. Сондай-ақ, Cloud4Y корпоративтік бұлттық провайдері «FZ-152 бұлтты тұрақты бағамен» акциясын іске қосқанын еске саламыз. Сіз өтініш бере аласыз 31 желтоқсанға дейін.

Ақпарат көзі: www.habr.com

пікір қалдыру