Konsoldakı Yılbaşı Ağacı

Yeni Yıl yaklaşıyor, artık ciddi işlere düşünmek istemiyorum.

Herkes kutlama için bir şeyler süslemeye çalışıyor: ev, ofis, çalışma yeri... Gelin biz de bir şey süsleyelim! Örneğin, konsol istemini. Bir bakıma, konsol istemi de bir çalışma yeridir.

Bazı dağıtımlarda zaten "süslenmiş" durumda:

Konsoldakı Yılbaşı Ağacı

Diğerlerinde ise gri ve önemsiz görünüyor:

Konsoldakı Yılbaşı Ağacı

Biz ise şöyle yapabiliriz:

Konsoldakı Yılbaşı Ağacı

Elbette, herkesin zevki ve rengi farklıdır. Eğer bu tür bir süsleme sizin için aşırı ve gereksiz görünüyorsa, bu görüşün de tamamen geçerli olduğunu bilin. Ancak, eğer siz de biraz yılbaşı ruhu katmak istiyorsanız, Cloud4Y'den kısa bir yılbaşı makalesini okumaya devam edin.

Öncelikle, terminal çıktısının nasıl "süslenmiş" olduğunu açıklayayım. Bu, escape dizileri kullanılarak yapılır. Daha spesifik olmak gerekirse, ANSI/VT100 terminal kontrol kod dizileri ile. Bu da, terminal emülatörünüzün bu standardı desteklemesini gerektirir; aksi takdirde yılbaşı mucizesi gerçekleşmez. Ve evet, $SHELL'iniz bash olmalı.

Bu komutlar escape dizileri olarak adlandırılıyor çünkü her birinin başında ASCII "escape" simgesi bulunuyor. Birçok kontrol dizisi var ve bunlar, örneğin terminal ayarlarını görüntüleme, görüntüleme ve imleç hareketini kontrol etme, yazı tipini değiştirme, metni silme ve gizleme gibi işler yapmamıza olanak tanıyor. Biz ise tüm bu seçenekler arasından birini seçeceğiz – metin ve arka plan rengini değiştirme.

Kod dizisini uygula *ESC*[{attr1};...;{attrn}m
Simge olarak Escape sembolünün sekizlik formu, yani 33kod tablosunu kullanıyoruz. Atama seçeneklerine gelince, işte mümkün olan değerlerin kısa bir listesi:

0 Tüm atamaları sıfırla
1 Bright (artırılmış parlaklık)
2 Dim (kısık)
4 Underscore (altı çizili)
5 Blink (yanıp sönme)
7 Reverse (ters çevirme)
8 Hidden (metni gizleme)

Foreground Colours (yazı rengi, bu renkte metin görüntülenir):
30 Black (siyah)
31 Red (kırmızı)
32 Green (yeşil)
33 Yellow (sarı)
34 Blue (mavi)
35 Magenta (mor)
36 Cyan (camgöbeği)
37 White (beyaz)

Background Colours (arka plan rengi):
40 Black (siyah)
41 Red (kırmızı)
42 Green (yeşil)
43 Yellow (sarı)
44 Blue (mavi)
45 Magenta (mor)
46 Cyan (camgöbeği)
47 White (beyaz)

Dikkat edin, şimdi terminalde şu komutu verirseniz: echo 33[0;31mbir metin 33[0m’

… beklenenden çok monokrom bir abuk sabuk alacaksınız:

Konsoldakı Yılbaşı Ağacı

Neden? Çünkü echo komutunun genişletilmiş özelliklerini kullanmamız gerekiyordu. Sadece bir anahtar eklemek yeterli: echo -e ‘ 33[0;31mbir metin 33[0m’

Artık çıktı doğru görünecek:

Konsoldakı Yılbaşı Ağacı

Terminal çıktısının süslemesini anladık. Şimdi, konsol istemini nasıl süsleyeceğimize bakalım.

Bu, PS1 dəyişəninin dəyişdirilməsi ilə edilir. Dəyişən komanda xətti üçün qeyd-cidarını idarə edir. Onun görünüşünü, escape ardıcıllıqlarından istifadə etməklə dəyişdirmək də mümkündür. Amma burada kiçik bir fərq var: ardıcıllığı “ simvolu ilə başlamaq lazımdır,[”, ardıcıllığı “ simvolu ilə bitirməlidir, əks halda, bu terminalda göstəriləcək.]Bütün mümkün komanda ardıcıllıqları bash sənədində ətraflı izah edilmişdir, ona görə də oxuculara təklif edirəm ki, özlərinə komanda xəttində nəyi görmək istədiklərinə özləri qərar versinlər. Mən isə öz PS1 dəyişənimin dəyərini nümunə olaraq təqdim edim:

Bu dəhşət spellini açıqlayıram:

[ 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;1m]

— parlaq mavi (ikinci atribut) mətn rəngini aktivləşdirir t
— cari zamanı HH:MM:SS formatında göstərir [ 33[0m]
— mətn rənginin parametrlərini sıfırlayır — sadə bir vergül (gözlənilməz, düzdür?)
, [ 33[32m]
— yaşıl mətn rəngini aktivləşdirir u@l@h
— istifadəçi adını, terminal cihazının nömrəsini və qısa ev sahibinin adını “@” simvolu ilə ayıraraq göstərir — yenidən mətn rənginin parametrlərini sıfırlayır
— mətn rənginin parametrlərini sıfırlayır — sadə bir iki punkt (gözlənilməz!)
: [ 33[33m]
— sarı mətn rəngini aktivləşdirir W
— cari kataloqun adını göstərir — yenidən mətn rənginin parametrlərini sıfırlayır
— mətn rənginin parametrlərini sıfırlayır — bir daha vergül (kimin düşündüyü!)
, [ 33[31m]
— qırmızı mətn rəngini aktivləşdirir — terminalda komanda nömrəsini göstərir
! — mətn rənginin parametrlərini sıfırlamağı unutmayın
— mətn rənginin parametrlərini sıfırlayır — root üçün “#” və digərləri üçün “$” göstərir
$ — yeni sətir. Niyə? Komanda sol tərəfdən başlayacaq, komanda xəttinin sonundan deyil.
n Dəyişəni harada yenidən müəyyənləşdirmək olar? Ən məntiqlisi ~/.bashrc-də etməkdir.

Komanda xəttinin görünüşü yalnız sizin fantaziyanızla məhduddur. Əslində, yuxarıda təsvir olunan alətlərdən istifadə edərək komanda xəttini Yeni il ağacı şəklində düzəltmək sizə mane olmur. Ancaq bu cür qeyd-cidar çox cəld olacaq və işiniz daha rahat olmayacaq. Ağacı sadəcə sistemə daxil olduğunuzda komanda xəttinin yuxarısında göstərə bilərsiniz (hər halda ~/.bashrc-ni redaktə etməliyik). Cəsarət edin! Və diqqətiniz üçün təşəkkür edirəm.

-kanal, növbəti məqaləni qaçırmamaq üçün! Hər həftə iki dəfə və yalnız lazımı barədə yazırıq. Həmçinin, Cloud4Y korporativ bulud provayderinin “FZ-152 buludu adi qiymətə” kampaniyasını başlatdığını xatırladırıq. Müraciət etmək mümkündür

Konsoldakı Yılbaşı Ağacı

Bloqda oxumaq üçün daha nə faydalı məlumat var Cloud4Y

GNU/Linux-da top-u qururuq
Kiber təhlükəsizliyin ön cəbhəsindəki penterest-lər
Təəccübləndirə biləcək startaplar
Mərkəzi məlumat mərkəzində yastıqlara ehtiyac varmı?
Robota tikdirdiyim ev

Bizim Telegram31 dekabr tarixinə qədər Wi-Fi 6 infrastrukturunu nə ilə qurmaq lazımdır?.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster