Choinka w wierszu poleceń

Zbliża się Nowy Rok, nie chcę już myśleć o poważnej pracy.

Każdy próbuje udekorować coś na święta: dom, biuro, miejsce pracy... Udekorujmy też coś! Na przykład wiersz poleceń. W pewnym stopniu linia poleceń jest także miejscem pracy.

W niektórych dystrybucjach jest już „udekorowany”:

Choinka w wierszu poleceń

W innych jest szary i niepozorny:

Choinka w wierszu poleceń

A możemy to zrobić na przykład tak:

Choinka w wierszu poleceń

Oczywiście wszystkie markery mają różne smaki i kolory. Jeśli taka kolorystyka wydaje ci się tandetna i nieodpowiednia, wiedz, że ten punkt widzenia ma pełne prawo do życia. A jeśli i Ty chcesz dodać odrobinę noworocznego nastroju, przeczytaj krótki artykuł noworoczny od Cloud4Y.

Najpierw wyjaśnię, w jaki sposób wyjście terminala jest „kolorowane”. Odbywa się to za pomocą sekwencji ucieczki. A dokładniej sekwencje kodów sterujących terminala ANSI/VT100. Co automatycznie oznacza, że ​​twój emulator terminala musi obsługiwać ten standard, w przeciwnym razie cud noworoczny nie nastąpi. I tak, zakłada się, że $SHELL jest Twoim bashem.

Polecenia te nazywane są sekwencjami ucieczki, ponieważ na początku każdej z nich znajduje się znak ASCII „escape”. Sekwencji sterujących jest wiele i pozwalają one m.in. wyświetlić ustawienia terminala, sterować wyświetlaniem i ruchem kursora, zmieniać czcionkę, usuwać i ukrywać tekst. Spośród całej gamy możliwości wybierzemy jedną - zmianę koloru tekstu i tła.

Wykonaj sekwencję kodu *ESC*[{attr1};...;{attrn}m
Jako symbol Ucieczka używana jest jego forma ósemkowa, tj 33. Jeśli chodzi o atrybuty, oto krótka lista możliwych wartości:

0 Zresetuj wszystkie atrybuty
1 Jasny (zwiększona jasność)
2 Ciemny
4 Podkreślać
5 Migać
7 Odwracać
8 Ukryty (ukryj tekst)

Kolory pierwszego planu (kolor pióra, tekst jest wyświetlany w tym kolorze):
30 Czarny
31 Czerwony
32 Zielony
33 Żółty
34 Niebieski
35 Magenta (purpura)
36 Cyjan (niebieski)
37 Biały

Kolory tła (kolor papieru lub kolor tła):
40 Czarny
41 Czerwony
42 Zielony
43 Żółty
44 Niebieski
45 Magenta (purpura)
46 Cyjan (niebieski)
47 Biały

Pamiętaj, że jeśli teraz wydasz polecenie w terminalu: echo 33[0;31mнекоторый текст 33[0m’

...wtedy, jak można się spodziewać, na wyjściu otrzymasz monochromatyczny bełkot:

Choinka w wierszu poleceń

Dlaczego? Ponieważ konieczne było wykorzystanie zaawansowanych możliwości polecenia echo. Wystarczy dodać jeden klucz: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Dane wyjściowe będą teraz wyglądać poprawnie:

Choinka w wierszu poleceń

Ustaliliśmy kolorowanie wyjścia do terminala. Zobaczmy teraz, jak pokolorować wiersz poleceń.

Odbywa się to poprzez zmianę zmiennej PS1. Zmienna odpowiada za wiersz poleceń. Można także zmieniać jego wygląd, m.in. za pomocą sekwencji ucieczki. Ale jest niewielka różnica: musisz rozpocząć sekwencję symbolem „[”, i zakończyć symbolem „]”, w przeciwnym razie zostanie wysłany do terminala.

Wszystkie możliwe sekwencje poleceń są szczegółowo opisane w podręczniku basha, dlatego zachęcam czytelników, aby sami wybrali, co wolą widzieć w wierszu poleceń. Jako przykład podam moją wartość zmiennej PS1:

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

Odszyfruję to straszne zaklęcie:

[ 33[34;1m] — włącz jasnoniebieski (drugi atrybut) kolor czcionki
t – wyświetla aktualny czas w formacie GG:MM:SS
[ 33[0m] – zresetuj ustawienia koloru czcionki
, - tylko przecinek (nieoczekiwany, prawda?)
[ 33[32m] — włącz zielony kolor czcionki
ty@l@h – wyświetlić nazwę użytkownika, numer urządzenia końcowego i krótką nazwę hosta oddzielone symbolem „@”.
[ 33[0m] — ponownie zresetuj ustawienia koloru czcionki
: - tylko dwukropek (nagle!)
[ 33[33m] — włącz żółty kolor czcionki
W – wyświetla nazwę bieżącego katalogu
[ 33[0m] — ponownie zresetuj ustawienia koloru czcionki
, - kolejny przecinek (kto by pomyślał!)
[ 33[31m] — włącz czerwony kolor czcionki
! — wyświetl numer polecenia w terminalu
[ 33[0m] - nie zapomnij zresetować ustawień koloru czcionki
$ — wydrukuj „#” dla roota i „$” dla wszystkich pozostałych
n - tłumaczenie liniowe. Po co? Aby polecenie zaczynało się od lewej krawędzi okna, a nie na końcu wiersza poleceń.

Gdzie przedefiniować zmienną? Najbardziej logicznym miejscem, w którym można to zrobić, jest ~/.bashrc.

Wygląd zaproszenia ogranicza jedynie Twoja wyobraźnia. W zasadzie nic nie stoi na przeszkodzie, aby za pomocą opisanych powyżej narzędzi utworzyć wiersz poleceń w postaci choinki. To prawda, że ​​​​takie zaproszenie będzie bardzo uciążliwe, a praca na pewno nie stanie się wygodniejsza. Choinkę można po prostu wyświetlić nad wierszem poleceń podczas logowania (musimy jeszcze edytować ~/.bashrc). Idź po to! I dziękuję za uwagę.

Choinka w wierszu poleceń

Co jeszcze można przeczytać na blogu? Cloud4Y

Konfigurowanie topu w systemie GNU/Linux
Pentesterzy na czele cyberbezpieczeństwa
Startupy, które potrafią zaskoczyć
Czy w centrum danych potrzebne są poduszki?
Dom zbudowany przez robota

Zapisz się do naszego Telegram-channel, żeby nie przegapić kolejnego artykułu! Piszemy nie częściej niż dwa razy w tygodniu i tylko w sprawach służbowych. Przypominamy również, że dostawca chmury korporacyjnej Cloud4Y uruchomił promocję „FZ-152 Cloud w cenie regularnej”. Możesz aplikować do 31 grudnia.

Źródło: www.habr.com

Dodaj komentarz